67,516
社区成员
发帖
与我相关
我的任务
分享
public class StudentUserDetails implements UserDetails {
private UserInfo info;
private List<Permission> permissionList;
public StudentUserDetails(UserInfo info,List<Permission> permissionList) {
this.info = info;
this.permissionList = permissionList;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
//返回当前用户的权限
return permissionList.stream()
// 过滤调权限值为空的情况。
// 注意权限值为“ "的情况会报错 A granted authority textual representation is required
// 这是因为SimpleGrantAuthority(String role)为空。
.filter(permission -> permission.getValue() != null)
.map(permission -> new SimpleGrantedAuthority(permission.getValue()))
.collect(Collectors.toList());
}
@Override
public String getPassword() {
return info.getPassword();
}
@Override
public String getUsername() {
return info.getUserId();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}
自己实现一套就好了,框架太臃肿了