Java Spring Security和没有用户名和密码的用户

Java Spring Security和没有用户名和密码的用户,java,spring,spring-security,Java,Spring,Spring Security,我有两种类型的用户:“普通”和“社交”。“普通”类型的用户有电子邮件和密码散列,我可以将其与SpringSecurityUserDetails关联,如下所示 public static class CommonUserDetails implements UserDetails { private User user; CommonUserDetails(User user) { this.user = user; } @Override

我有两种类型的用户:“普通”和“社交”。“普通”类型的用户有电子邮件和密码散列,我可以将其与SpringSecurityUserDetails关联,如下所示

public static class CommonUserDetails implements UserDetails {

    private User user;

    CommonUserDetails(User user) {
        this.user = user;
    }

    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return null;
    }

    @Override
    public String getPassword() {
        return user.getPasswordHash();
    }

    @Override
    public String getUsername() {
        return user.getEmail();
    }

    public User getUser() {
        return user;
    }

    ...
public静态类CommonUserDetails实现UserDetails{
私人用户;
CommonUserDetails(用户){
this.user=用户;
}
@凌驾

公共集合不确定您的代码是否只是一个示例,但您应该从
getAuthorities()
返回一个空集合,而不是返回
null
。不确定您的代码是否只是一个示例,但您应该从
getAuthorities()
返回一个空集合,而不是返回
null