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