春季安全性:已授予权限

问题描述 投票:0回答:1

我试图用两种类型的角色引用创建的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;
    }

}
java spring security
1个回答
0
投票

缺少太多上下文,无法找到合适的答案。关于您的UserEntity以及引发异常的确切位置,共有0条信息。提供一个Stacktrace和正确的代码段。只能说您的UserEntity为null。

© www.soinside.com 2019 - 2024. All rights reserved.