0

私はMVCが初めてで、コントローラーについて頭を悩ませようとしています。次のシナリオについてコメントしていただけますか?:

ユーザーがアプリケーションを使用するときに「プライバシーポリシー」画面に同意する必要があることは、アプリケーションのビジネス要件です。これを行うには、ユーザーが最初の Home コントローラーのインデックス ビューでリンクをクリックしたときに Cookie を設定します。

ただし、アプリケーションのすべてのエントリ ポイント (つまり、インデックス ページからだけでなく、アプリケーション内の任意の場所) で Cookie の存在を確認する必要があります。各コントローラーで値を確認できることは理にかなっていますが、各コントローラーで同じ「クッキーが存在する場合は何かを行う」コードを複製したくありません。それで、私が自分のメソッドを書くことができる次のレベルがありますか?

これが理にかなっていることを願っています!

4

2 に答える 2

0

Cookie 検証コードを含むカスタム ベース コントローラー (それ自体が標準の ASP.NET MVC コントローラーを継承する) を作成し、それから他のコントローラーを派生させます。

たとえば、デフォルトですべてのアクションでユーザーの認証が必要になるようにするには、ベース コントローラーとして次のようなものを使用します。

[Authorize]
public class CoreController : Controller
{
    /* ... */
}

次に、私のホームコントローラーは次のようになります。

public class HomeController : CoreController
{
    /* ... */
}
于 2013-07-17T04:26:14.353 に答える