2010-03-27 45 views
11

Khi sử dụng bảo mật mùa xuân, cụ thể với @notation; cách thích hợp để truy cập hiệu trưởng trong Bộ điều khiển là gì? Cho phép nói sau đây là bộ điều khiển của tôi, nhưng tôi muốn truy cập hiệu trưởng trong phương thức secure() ở đâu đó ...Truy cập an ninh mùa xuân chính

@Controller 
public class LoginController { 

    @RequestMapping(value = "/login", method = RequestMethod.GET) 
    public String login(ModelMap map, @RequestParam(value="fail" , required=false) String fail){ 
     map.addAttribute("title", "Login: AD Credentials"); 
     if(fail != null){ 
      map.addAttribute("error", "Invalid credentials"); 
     } 
     return("login"); 
    } 

    @RequestMapping("/secure") 
    @PreAuthorize("isAuthenticated()") 
    public String secure(ModelMap map, String principal){ 
     System.out.println(principal); 
     return("secure"); 
    } 


} 

Trả lời

15

Dễ nhất là SecurityContextHolder.getContext().getAuthentication().getPrincipal(). Hoạt động qua mô hình chuỗi địa phương.

Các vấn đề liên quan