すべてのユーザーには 1 つ以上の役割があり、すべての役割には 1 つ以上の権限があります。これまでのところ、ロールを介してユーザーに関連付けられているすべてのアクセス許可を収集できます。
問題
一部の権限には、いくつかの制約があります。例えば:
ユーザーは自分のサイトに属するすべての投稿を編集できますが、他の投稿は編集できません。
したがって、「投稿の編集」権限にはこの制約が必要です。
モデルに関して: 制約が権限に関連している場合、特定のユーザーに対してアクティブな制約を解決できません。
ユーザー モデルは「サイト」のような属性を持つことができますが、1 つのサイトに属するすべてのユーザーが上記の制約を持つ必要はありません。それらの一部は、すべての投稿を編集できる必要があります。
質問
特定のユーザーに対してアクティブな制約を判断する最善の方法は何ですか? これを個別のアクセス許可に分割し、制約をアクセス許可モデルに統合する必要がありますか、それともより良い解決策がありますか? 属性ベースのアクセス制御に出くわしましたが、まったく別のアプローチに切り替える必要があるかどうかわかりません
どんな助けでも大歓迎です:)