由于UserDetails的类创建起来比较复杂,所以要借助工具类创建,UserDetails的代码如下:
public interface UserDetails extends Serializable {
Collection<? extends GrantedAuthority> getAuthorities();
String getPassword();
String getUsername();
boolean isAccountNonExpired();
boolean isAccountNonLocked();
boolean isCredentialsNonExpired();
boolean isEnabled();
}
借助如下工具类创建:
String username = xcUser.getUsername();
String password = xcUser.getPassword();
//创建用户权限集合,如果不加,则会报can not pass a null GrantedAuthority collection
String[] authorities = {"test"};//随便创建的一个权限集合
//因为要返回UserDetails类的对象,而这个类的对象创建起来十分麻烦,所以调用工具类创建
UserDetails build = User.withUsername(username).password(password).authorities(authorities).build();