簡體   English   中英

Spring安全訪問主體

[英]Spring security accessing principal

使用spring security時,特別是@notation; 在Controller中訪問主體的正確方法是什么? 讓我們說以下是我的控制器,但我想在某個地方訪問secure()方法中的主體...

@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");
    }


}

最簡單的是SecurityContextHolder.getContext().getAuthentication().getPrincipal() 通過線程局部模式工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM