私たちのアプリケーションは WebForms から MVC に移行されています。承認を処理する別の方法があります。データベース ビューは、ユーザーの承認を確認するために照会されます。このビューは、各ユーザーに従って、すべてのメニュー階層を返します。たとえば、User1 が SecretList.aspx という名前のページにアクセスしようとすると、メニュー階層 (認証後に HTTP セッションに保存される) を介して検索が適用され、アクセス承認が確認されます。SecretList.aspx に関連するメニュー項目がそのユーザーに存在する場合、アクセスが許可されます。
私の質問は、ASP.NET MVC 3 でこのアプローチを実装する方法ですか?
各 Controller Action に Attributes を配置したくないので、Route ConstraintsとCustom Controllerについて読んだことがあります。
制約をルーティングするには、HTTP セッションにアクセスして、認可クエリのメニュー階層を取得できますか?
カスタム コントローラーへ、どのメソッドをオーバーロードすることを検討する必要がありますか? コントローラが完全なアクション コードを実行する前に、承認を確認して別のビューにリダイレクトできますか?
他に良いアイデアはありますか?