2009-03-03 5 views
5

デザインについて:ウェブサイトの一部(データテーブルの賢明さ)に対するセキュリティ/パーミッションの最適なデザインは何ですか?

  1. すべてのユーザーは、あるグループのメンバーです。 (セールス、パーツ、野球選手など)
  2. すべての「ウェブページ」は、人々のグループによって見られます。
  3. すべてのWebページは、通常、あるレベルのWebページグループに含まれています。これらをいくつかのディレクトリに保存したり、プレフィックスで始めることもできますが、必ずしもそうではありません。誰かが販売に参加したとき、すなわち次のように指定する必要がありますする必要はありません - 彼らはすべてのウェブページ」以来SalesPage1、SalesPage2、SalesPage3、SalesPartsPage1など

答えて

3

を見ることがWebページのグループの通常一部であり、 ... "それはたぶん"すべてのウェブページがで、いつもウェブページのグループの一部です... "のように行動するのが最善です - たとえいくつかのグループには1人のメンバーしかいなくても!あなたのデータモデルを簡素化し

ユーザー--->ユーザーグループ< ------->ページ・グループ<を---ページ

10

最も簡単な方法は次のとおりです。

ユーザー:ユーザー、名前、およびIDの

SecurityGroupsのリストが含まれています:セキュリティグラムのリストが含まれています"販売"、 "マーケティング"などのルート。 (ID、セキュリティグループ名)

ページは:(userIdを、securityGroupId):ページのリスト(ID、ページ名)

UserSecurityGroupsが含まれています。割り当てられた権利の相互参照表

PageSecurityGroups:(pageId、securityGroupId、allowed)ページにアクセスできるセキュリティグループメンバーシップの相互参照テーブル。

ページロードごとに、特定のページのPageSecurityGroupsテーブルにユーザーが持っていたグループアクセスが含まれているかどうかを確認します。

明らかに、特定のユーザーにページを割り当てるなど、これ以上のことはありますが、必要に応じてアプリケーションに適用することができます。

+0

あなたはすばらしく答えを与えてくれました。 –

関連する問題