我想将角色视为用户的属性,而不是拥有独立的角色类,因此我不需要在数据库中有角色表。但是通用的spring UserDetails服务通过了GrantedAuthority(即Collection<GrantedAuthority> getAuthorities())作为用户详细信息参数之一)。
我想做的就是用GrantedAuthority在“用户”类中声明的角色(字符串角色)替换此通用参数,如下所示。
@Entity(name="usr")
public class User {
@Id
@Column(unique=true)
private String username;
private String password;
private String role;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
}
Run Code Online (Sandbox Code Playgroud)
还有我的customUserdetail服务类:
@Service
@Transactional(readOnly = …Run Code Online (Sandbox Code Playgroud)