我有两种类型的用户:"普通"和"社交"。 "普通"用户类型具有电子邮件和密码哈希,我可以将其与此类
的Spring Security UserDetails相关联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;
}
...
我对此类用户没有任何问题。但是&#34;社交&#34;用户类型没有任何电子邮件和密码,他们只有我的数据库中的id和已分配的社交网络的ID。现在我只能通过我的应用程序的ID识别用户,因此每个用户的主体都是id。
第一个问题:最好将标识符作为每个用户的主体吗?
第二个问题:我如何将身份验证类调整为&#34; social&#34;用户类型?如果委托人是id,那么凭证应该是什么?