階層的な ACL データを含むデータベースを実装したい
マイ テーブル
USERS
: idUser、ユーザー名、...GROUPS
: idGroups、名前...GROUPSENTITIES
: idGroup、idChild、childType (ユーザー用に 1 つ、グループ用に 2 つ)ROLES
: idRole,名前...ROLESENTITIES
: idRole、IsDeny、idChild、childType (ユーザー用に 1 つ、グループ用に 2 つ)すべてのユーザーは 0 個以上のグループに所属できます
- すべてのグループは 0 個以上のグループに属することができます
- すべてのユーザーとすべてのグループは 0 個以上のロールに属することができ、ロールは許可または拒否できます
- 明示的な拒否が見つかった場合、ロールは拒否されます
この種のデータを保存するにはどうすればよいですか? 私のデザインは正しいですか?
許可されたすべての役割を持つユーザーのリストを取得することは可能ですか?
データベースからこの情報を抽出するためのクエリ (T-SQL ベース) を書いてください。
前もって感謝します