0

役割ベースのアクセス制御システムを実装しています。

ユーザーには役割があります (多対多)
役割には権限があります (多対多)
役割には特権があります (多対多)顧客
に対する役割belongs

AdminNormalの2 つのデフォルトRoleが必要です。問題は、顧客への役割です。したがって、このデフォルトの役割を顧客ごとに定義する必要があります。belong

Customer ごとに同じ 2 つの役割を定義しないようにするにはどうすればよいですか?

(私が思いついた最初のアイデアは、これらのデフォルトの Roles NULL の所有者を保持することでしたが、これにより、多くの追加の制御が追加され、認証方法がフォークされます)

4

1 に答える 1

1

正しいかどうかはわかりませんが、ロールはユーザーに依存するべきではありません...

DB レベルでの一般的な解決策は、接続テーブルを使用することです。つまり、1 つの USER テーブル、1 つの ROLE テーブル、およびそれぞれ USER テーブルと ROLE テーブルへの 2 つの外部キーを持つ USER_ROLE テーブルです。

JPAレベルでの解決策(追加した「Java」ラベルのためにこれを使用すると仮定します)は、@ManyToManyタグとの関連付けを表すコレクションに注釈を付けることで、フレームワークが残りを処理します。

于 2013-02-05T12:13:32.450 に答える