@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中獲取用戶認證信息還是很簡單的,方法很多