springsecurity 中 @AuthenticationPrincipal 的简单用法


@GetMapping("getinfo")
@PreAuthorize("isAuthenticated()")
public Result<?> getInfo(@AuthenticationPrincipal UserDetails user){
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.eq("username",user.getUsername());
QueryWrapper<Mymessage> mymessageQueryWrapper = new QueryWrapper<>();
mymessageQueryWrapper.eq("uid",userService.getOne(userQueryWrapper).getUid());
return Result.getOk(mymessageService.list(mymessageQueryWrapper));
}
其中
@AuthenticationPrincipal UserDetails user
返回的是userdetails
可以使用getUsername()方法获取用户名,使用getPassword()获取密码,常用就获取用户名
别的SecurityContextHolder.getContext().getAuthentication();也可以获取,
总之,在controller中获取用户认证信息还是很简单的,方法很多


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM