2015-11-08 36 views
6

Bahar Güvenlik versiyonunu kaldırılmış.Bahar Güvenlik AuthenticatedPricipal

Aynı şeyi gerçekleştirmek ve Spring MVC Denetleyicisindeki kullanıcı bilgilerini almanın doğru yolu olup olmadığını merak etmek için olası farklı bir yol. Ben HttpSession session sahip sayfa yükleme hatalarına neden olan bayat oturumları neden olur değil bulundu başka not

@RequestMapping(method = RequestMethod.GET) 
public String getIndex(HttpSession session, Device device, Model model, Principal principal) { 

    /** 
    * Spring Security Fetch User 
    */ 
    if (principal != null) { 
     String username = principal.getName(); 
     User currentUser = userRepository.findByEmail(username); 
     model.addAttribute("user", currentUser.getFirstName()); 
    } 

    return "view"; 

} 

.

cevap

15

oluşturarak çağıran userRepostiory (veritabanı, yinelenen bir arama) önleyebilirsiniz çalışmalıdır.

Kullanımdan kaldırılan org.springframework.security.web.bind.annotation.AuthenticationPrincipal yerine org.springframework.security.core.annotation.AuthenticationPrincipal kullanın.

-1

aşağıda kod parçacığı

@RequestMapping(method = RequestMethod.GET) 
public String getIndex(HttpSession session, Device device, Model model) { 

    /** 
    * Spring Security Fetch User 
    */ 

    User user = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
    String username = user.getUsername(); 
    User currentUser = userRepository.findByEmail(username); 
    model.addAttribute("user", currentUser.getFirstName()); 

    return "view"; 

} 

Sen Kullanıcı Class uzanan ve ek açıklama başka pakete taşındı alan firstName

İlgili konular