其他分享
首页 > 其他分享> > SpringSecurity获取主体的三种方式

SpringSecurity获取主体的三种方式

作者:互联网

三种获取登陆信息方式

    @RequestMapping("/user/info")
    @ResponseBody
    public Object userInfo(Authentication authentication) {
        return authentication.getPrincipal();
    }


    @RequestMapping("/user/info2")
    @ResponseBody
    public Object userInfo2(@AuthenticationPrincipal UserDetails userDetails) {
        return userDetails;
    }

    @RequestMapping("/user/info3")
    @ResponseBody
    public Object userInfo3() {
        Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        if (principal != null && principal instanceof UserDetails) {
            UserDetails userDetails = (UserDetails) principal;
            return userDetails;
        }
        return principal;
    }

结果:

image-20210508143455451 image-20210508143506926 image-20210508143824512

标签:return,RequestMapping,Object,SpringSecurity,获取,三种,userDetails,UserDetails,princi
来源: https://www.cnblogs.com/dalianpai/p/14744866.html