在使用SpringSecurity的时候,我登录的时候可以通过authentication 获取到当前登录的用户信息
但是我写了一个自定义权限校验,参数是 request 和authentication
但是 调用当前用户信息的时候就是匿名用户
这是配置信息
该怎么获取到当前用户的信息
在使用SpringSecurity的时候,我登录的时候可以通过authentication 获取到当前登录的用户信息
这是配置信息
该怎么获取到当前用户的信息
【相关推荐】
认证凭据类需要实现的接口,它的源码如下:
public interface Authentication extends Principal, Serializable {
// 获取权限列表
Collection<? extends GrantedAuthority> getAuthorities();
// 获取凭据,登录密码或者短信验证码、访问token
Object getCredentials();
// 获取认证详情,可自定义
Object getDetails();
// 获取认证信息,用户名或者手机号码等
Object getPrincipal();
// 是否认过证标识
boolean isAuthenticated();
// 设置是否认证过
void setAuthenticated(boolean authenticated) throws IllegalArgumentException;
}
与用户名和密码登录相关的Authentication
接口实现类为UsernamePasswordAuthenticationToken
该类继承自AbstractAuthenticationToken
抽象类, 它实现了Authentication
接口中的大部分方法
AbstractAuthenticationToken
抽象类的继承和实现关系图如下:
UsernamePasswordAuthenticationToken
类继承自AbstractAuthenticationToken
抽象类,并提供了两个构造方法,用于构造实例