2016-08-24 3 views
0

例: 複数のユーザーが同じユーザー役割を持つことができますが、異なるアクセス許可を持つようなシステムを作成したいのですが、SQL Serverで異なるユーザー権限を使用して同じユーザーロールを実装する方法

  • ユーザー1:作成者はページを作成してイメージを追加することもできます。 UserRoleの列に追加しましたカンマで区切られたユーザーの役割 - :
  • ユーザー2:著者としてのみ作成できるページが

私はこのを試してみました。 - しかし、それはスケーラブルで長期的かつ正しいアプローチではないと思います。

私をご案内ください。

+3

このためにユーザー権限テーブルが必要です。また、カンマ区切りのロールを使用しないでください。 – Lamak

+0

@Lamakカンマ区切りのロールは、実際には 'Authorize'属性を使用するASPアプリケーションのコンテキストで意味がありますが、OPが何をしているのかわからないので、 – DavidG

+0

ありがとうございました。 – ravindra

答えて

0

第2のテーブルuser_permissionsという

user_id, permission_id 
1 1 
1 2 
2 1 

編集を通じて各ユーザーにこれらの権限を割り当てる次に権限

Permission_id, Permission_name 
1 'Create page' 
2 'Add image' 

のテーブルを構築します。あなたが特定の役割

を構築したい場合は または、

パーミッションと同じ操作を行いますが、テーブルのような追加の構造を構築してください。user_role

user_role_id, user_role_description 
1 "User can create page and add image" 
2 "User can add image" 

そしてuser_role_permissions

user_role_id, permission_id 
1 1 
1 2 
2 1 

を通じて、これらのロールに権限を追加し、(ユーザーが複数の役割を持つことができるようにしたい場合)user_permissionsというに似た追加のテーブルを持つユーザーにこれらの役割を割り当てますかユーザーテーブルの余分な列user_role_id

+0

達成したいことに応じて、これを行う方法はおそらくもっとあります:) – Moptan

関連する問題