カスタム ユーザー/ロール プロバイダーを使用する ASP.NET MVC4 サイトがあります。Entity Framework は、最下位レベルでユーザー エンティティとロール エンティティを操作します。ここで、s の概念を紹介しRolePermission
ます。各ロールには、このロールのユーザーがシステム内で特定のアクション (コメントの削除など) を実行できるようにする権限のリストが関連付けられています。
カスタム ビルドの管理パネルで、コントローラーのすべてのアクションを一覧表示し、現在のユーザーのロールに権限が存在するかどうかに基づいて、アクションの呼び出しを許可または禁止したいと考えています。
質問は次のとおりです。
- 出来ますか?
- コントローラーで一連のアクションを一覧表示するにはどうすればよいですか。
- アクションとロールのアクセス許可の間の関連付けを割り当てたり、キャンセルしたりするにはどうすればよいですか。
考えられる戦略:
すべてのコントローラーとアクションに適用されるグローバル カスタム フィルターを導入し、データベースをチェックして、論理的な関連付けがあるかどうかを確認します。このようにして、ユーザーがアクションを呼び出すたびにチェック コードが実行されます。それでも、コントローラーとアクションをリストするにはどうすればよいですか (おそらくリフレクションを介して?)