2 つのパラメーターを持つ RBAC システムの例またはベスト プラクティスを探しています。単にユーザーをロールに関連付け、そのロールを権限のグループに関連付けるだけではなく、ユーザーは「特定のプロジェクトの」ロールに関連付けることができ、ユーザーはそのプロジェクトのみ (またはユーザーがそのロールを保持している他のプロジェクト) に対してそのロールの権限を持つことができます。ユーザーは、あるプロジェクトで特定の役割を持ち、別のプロジェクトで別の役割を持つことができます。ロールに付与される権限は、すべてのプロジェクトで一貫しています。また、プロジェクトに対するユーザーの権限は、そのユーザーがプロジェクトで持っている役割に基づいています。
(違いがある場合は、GET ステートメントを介してプロジェクト ID を設定する URL クエリ パラメーターを介してページ コンテンツが開発されるページ アクセスを制限しようとしています。)
ABAC は有望に見えますが、頭を悩ませています。私の理解では、ユーザーの属性によって、ユーザーが役割 (および/または権限) を持っているかどうかが決まります。私の場合、プロジェクトを「ユーザー」と見なし、ユーザーをプロジェクトの属性と見なすようです (ユーザーがそのプロジェクトの役割を保持している場合は true、そうでない場合は false)。