我无法理解为什么Authority在JHipster中如此复杂?创建另一个只有一个字段name
的实体的原因是什么?此外,它还有一个 csv 文件,可以使用Liquibase将模板上传到数据库。
有一个想法让我创建一个枚举(见this answer):
@Entity
@Table
public enum Authority {
USER, ADMIN;
@Id
private String title = "ROLE_" + name();
}
然后我认为这也没必要。它可以是没有注释的枚举,只有Set
(甚至是EnumSet
):
private Set<Authority> authorities = new HashSet<>();
我错过了什么吗?也许它对JPA有用吗? 我想在GitHub上创建一个问题,但我认为它是一个更好的地方。
答案 0 :(得分:1)
GrantedAuthority由Spring Security定义,默认实现SimpleGrantedAuthority只有一个角色名称,但可以扩展为具有更多属性,所以我猜JHipster的实体可以实现这种可能性。