私は現在、ユーザーテーブル、役割テーブル、およびユーザーロール関連テーブルがあり、1人のユーザーを複数のロール(Admin、BasicUserなど)に関連付けることができるシステムを持っています。私はこれらの役割に基づいて行動方法を認可することができます。これはIdentityフレームワークのものです。ASP.NET MVCでロール内に特権を設定するにはどうすればよいですか?
権限のサポートを追加して、役割だけでなくアクションメソッドを制限することができます。たとえば、コントローラでは、「書き込み」特権を持つ人だけが正常に実行できるはずのHTTPPostアクションがあるとします。
ロールに権限を割り当てるためにどのような変更が必要ですか? I.E.、 "書き込み"と "読み取り"権限を持つ "管理者"ロールを選択し、 "BasicUser"ロールには "読み取り"権限のみを割り当てます。これにより、管理者は書き込み権限によって許可されているすべてのメソッドにアクセスできますが、BasicUserではアクセスできません。
"Privilege"という名前の別のテーブルと、それらとロールとの間の関連付けテーブル、およびロール内の特権を設定するコードを作成する場合、その特権をどのようにフィルタとして使用できますか?したがって、たとえば、以下のアクションは、ユーザーが「書き込み」特権を持つロールでのみ実行できるようにする必要があります。
[Write]
public ActionResult Create()
{
return View();
}
ありがとうございます。
感謝を。このテクニックを使用すると、YourCustomCodeクラスにはロールと特権の関連付けがあるかどうかをチェックするコードが含まれますか? I.すべてのデータベースコード? – ITWorker
まさに!あなたが答えに満足すれば、答えとしてマークすることを忘れないでください。 – bsoulier