私の質問は: (どのように?) Spring Security Plugin を使用して Grails のユーザー クラスにユーザーの「権限」を保存できますか?
次の SQL 構造を指定しました。
ユーザー テーブル:
...
varchar(255): username
...
int(2) rank: (refers to Rank table)
ランク表:
int(11): id
varchar(25): rank_name
典型的な "User, Authority, UserAuthority many to many" スキーマの代わりに、その構造で動作するようにドメイン クラスを構成できますか?
ランク (id) は階層的です。これは、ランク 4 のユーザーがランク 3 のユーザーからすべての「権限」を取得したことを意味します。
編集: ユーザー ドメインの getAuthorities メソッドを次のように単純に置き換えました。
Set<Permission> getAuthorities() {
Authority.findAllById(this.rank)
// instead of: UserAuthority.findAllByUser(this)*.permission
}