0
我不明白爲什麼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上創建一個問題,但我認爲這是一個更好的地方。
但實體如何幫助與GrantedAuthority合作?我仍然可以做'新的SimpleGrantedAuthority(Authority.ADMIN.toString())'。我只是認爲在應用程序的註冊和其他部分中不需要authorityRepository.findOne(「ROLE_USER」),我們可以使用'Collections.singleton(Authority.USER)'。 – Feeco
在我看來,你只能想象一個靜態的角色列表。在網關的情況下,您可以輕鬆地從用戶管理中創建新的角色,這些角色不由網關代碼本身解釋(因此不是常量,也不是枚舉),並且可以通過代理微服務從JWT聲明中解釋。 –
事實上,似乎這就是重點。 – Feeco