0

すべてのユーザーには 1 つ以上の役割があり、すべての役割には 1 つ以上の権限があります。これまでのところ、ロールを介してユーザーに関連付けられているすべてのアクセス許可を収集できます。

問題

一部の権限には、いくつかの制約があります。例えば:

ユーザーは自分のサイトに属するすべての投稿を編集できますが、他の投稿は編集できません。

したがって、「投稿の編集」権限にはこの制約が必要です。

モデルに関して: 制約が権限に関連している場合、特定のユーザーに対してアクティブな制約を解決できません。

ユーザー モデルは「サイト」のような属性を持つことができますが、1 つのサイトに属するすべてのユーザーが上記の制約を持つ必要はありません。それらの一部は、すべての投稿を編集できる必要があります。

質問

特定のユーザーに対してアクティブな制約を判断する最善の方法は何ですか? これを個別のアクセス許可に分割し、制約をアクセス許可モデルに統合する必要がありますか、それともより良い解決策がありますか? 属性ベースのアクセス制御に出くわしましたが、まったく別のアプローチに切り替える必要があるかどうかわかりません

どんな助けでも大歓迎です:)

4

1 に答える 1