6

アプリケーションに .NET mvc2 を使用しています。自分のアクションに対してカスタム承認が必要です。少しググってみましたが、2つのオプションが利用できるようです。

  • カスタム アクション フィルターの onActionExecuting にロジックを実装します。この投稿を参照してください。
  • authorizeattribute をサブクラス化するか、Iauthorization インターフェイスを実装して、そこにロジックを配置します。

ここでの私の質問は、各手法を使用することの長所と短所を考慮して、どの手法が好ましいかということです

編集: さらに、ベース コントローラーで onActionExecuting と onAuthorization をオーバーライドできるため、コントローラー変数に直接アクセスできるというメリットがあります。

4

1 に答える 1

6

どちらのオプションも問題ありませんが、次の理由から AuthorizeAttribute をサブクラス化することをお勧めします。

  1. 関心事の分離。
  2. MVC は、この目的のために AuthorizeAttribute を提供します (フレームワークと戦わないでください)。
  3. 承認フィルターが最初に実行されます -- 他のフィルターの前に (Pro ASP.NET MVC3 Framework によると、431 ページ)。これにより、承認されていないユーザーがコントローラー/アクションにアクセスした場合に、不要なコードが実行されなくなります。
于 2011-11-09T14:10:17.977 に答える