ビルド済みのASP.NETメンバーシップとロールプロバイダを使用して、認証された各ユーザーが表示および編集できるものを制限するシステムを作成したいと考えています。どのようにユーザーをドメインオブジェクトに関連付ける必要がありますか?
ソフトウェアにはすでに「アイテム」と「グループ」という概念があります。各アイテムはグループに属します。
システムのユーザは、実際には同じグループに属します。これは現在、私のドメインモデルでは表現されていません。
これらのユーザーに表示および編集する2つのレベルの権限があります。彼らがグループ内にいる場合、そのグループ内のアイテムを表示できるようにしたいと思います。そのグループに編集権限がある場合、そのグループのアイテムを編集できるようにしたいと思います。
通常、ユーザーは1つのグループに属しますが、ある時点では複数のグループに属している可能性があります。ユーザーは複数のグループに対して表示権限を持つことができますが、表示できるグループのうちの1つ(またはいくつか)のみに対して編集権限を持つことができます。
私はこれにどのように取り組むべきか分かりません。 Group1View、Group1Editなどのすべてのグループに対して2つのロール(asp.netロールプロバイダを使用)を作成するだけですか?または、aspnet_UsersテーブルとGroupsテーブルの間に関係を作成する別のテーブルを作成し、3つ目のカラムでその特権レベルを識別する必要がありますか?
結局私はスティーブ・スミスはおよそここでブログどのように幾分類似権限チェックを実装したいと思います:あなたが提供しなければならない可能性のある入力用http://stevesmithblog.com/blog/favor-privileges-over-role-checks/
感謝を!