前提:要会了解Spring Security
其实基本都是存在 Authentication 这个对象里面的, 看你怎么拿而已
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (!(authentication instanceof AnonymousAuthenticationToken)) {
LoginUser principal = (LoginUser) authentication.getPrincipal();
return principal.getUser();
}
因为我存有权限信息,所以不能直接强转成user,要转成loginuser,然后再getUser对象。 loginuser 就是我定义的 实现 UserDetails 的类, UserDetails能看这篇的大家肯定都懂啦,就是替换框架原始账密那个接口。
如果您只想要账户信息,可以不用强转user类,直接用principal.getName,因为我用的是创建用户的id,和修改用户的id,所以要强转。
不强转如下:
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (!(authentication instanceof AnonymousAuthenticationToken)) {
String userName = authentication.getName();
return userName;
}
大概思路就是当你使用Spring Security验证成功后 你想回去当前用户信息 先把 Authentication 对象获取出来
然后在一步异步点