私には管理者、ユーザーなどのサイトの役割がありますが、それは問題ありません。
しかし、私が合法的な申請書(または同様のもの)を持っているとしましょう。というエンティティがありますCase
。今、私は多くのケースを持つことができ、すべてのユーザーが特定のケースにアクセスできるわけではありません。フレッドとトムはCase1にアクセスできるはずですが、ジーナとレベッカだけがCase2にアクセスできるはずだとしましょう。
とても簡単ですよね?ケースがあり、ユーザーはケースに属することができます。それが最初の部分です。2番目の部分は、FredがCase1の「管理者」になり、大きな変更を加えることができるように「Case Roles」を設定する方法ですが、TomはCase1の単なる「ユーザー」であり、マイナーなことしかできず、読み取り専用にすることができます。アクセスなど
おそらくカスタム属性などを実装する必要があることはわかっていますが、この特定の種類のものの例をWeb上で見つけることができません。しかし、これはほとんどのビジネスアプリケーションで非常に一般的であるに違いないと思います。(BasecampやHighriseなど)
更新別の例を挙げましょう:
Basecampのようなサービスアプリケーションとしてプロジェクト管理ソフトウェアを利用してください。ユーザーは「プロジェクト」を作成できます。次に、そのユーザーは他のユーザーを自分の「プロジェクト」に招待できます。ただし、作成ユーザーは、プロジェクトにユーザーごとに異なる権限を割り当てることができます。基本的な質問は、ASP.NETMVCでこの種のことをどのように行うかです。