4

ツリー システムとして構造化されたユーザー権限システム用のデータベースを作成する最善の方法を見つけようとしています。

(説明目的で) 私は 3 つのレベルのコントロールを持っています:1プロパティ グループ、2プロパティ、3建物。プロパティ グループには複数のプロパティがあり、プロパティには複数の建物があります。

各レベルで管理を設定したい。

aPropGroupAdminは、設定されたプロパティ グループ内のすべてのプロパティと、内部の建物を表示および編集できます。

設定されたPropAdminプロパティとその中の建物のみを表示できます

設定されたBldngAdmin建物のみを表示できます

ユーザー Bobby は、プロパティグループ ID が 102 の PropGroupAdmin であると思います。これは、ビューから読み取ることができる一連の特定の特権に変換されます。

私が持っている質問は、階層を継承できるように GroupPrivileges テーブルを設定するにはどうすればよいかということです (それが正しい言葉であれば)。基本的に、ユーザーがタスクを実行するための適切な権限を持っているかどうかを確認するために読み取るだけのビューを作成できます。

私はそれがどのように機能するかを想像する小さなチャートを作成しました. ここに画像の説明を入力

私はこれがこのように機能しないことを知っています.同様の結果を得るために変更を加えるためにホットを見つけようとしています.

4

2 に答える 2

7

なぜ車輪を再発明するのですか?役割ベースのアクセス制御標準を実装してみませんか? http://csrc.nist.gov/groups/SNS/rbac/

すべてのデータベースの実装があります。

http://www.tonymarston.net/php-mysql/role-based-access-control.html

于 2012-06-07T20:58:35.570 に答える