我试图用两种类型的角色引用创建的ENUM,但是当我尝试运行UI时,它显示401 Unothorized,看不到我的错误在哪里。目前我得到空指针
-> NullPointerException:空在kn.esc.paisy.topdesk.integration.domain.entity.UserEntity.getAuthorities
@Enumerated(value = EnumType.STRING)
@Column(name = "role")
private UserRole role;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return Sets.newHashSet(new SimpleGrantedAuthority(role.name()));
}
@RequiredArgsConstructor
public enum UserRole implements GrantedAuthority {
ROLE_ADMIN("ROLE_ADMIN"),
ROLE_USER("ROLE_USER");
private final String name;
@Override
public String getAuthority() {
return name();
}
}
@Getter
public class UserDto {
private final String userName;
private final boolean isOnlineSystem;
private final String role;
public UserDto(UserDetails userDetails, PreferencePayload payload) {
this.userName = userDetails.getUsername();
this.isOnlineSystem = payload.isOnlineSystem();
this.role = userDetails.getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList()).get(0);
}
@JsonProperty("isOnlineSystem")
public boolean isOnlineSystem() {
return isOnlineSystem;
}
}
缺少太多上下文,无法找到合适的答案。关于您的UserEntity以及引发异常的确切位置,共有0条信息。提供一个Stacktrace和正确的代码段。只能说您的UserEntity为null。