アプリの特定のページへのアクセスを Cookie で制御したいと考えています。でも、これを一箇所だけコーディネートしたい。Layout.cshtml IE にチェックを入れると、すべてのページでこのレイアウトが自動的に使用されます。それはいいですか?
編集: このアプリのセキュリティは問題ではありません。
アプリの特定のページへのアクセスを Cookie で制御したいと考えています。でも、これを一箇所だけコーディネートしたい。Layout.cshtml IE にチェックを入れると、すべてのページでこのレイアウトが自動的に使用されます。それはいいですか?
編集: このアプリのセキュリティは問題ではありません。
MVC のコア原則の 1 つに違反しています。実際のロジックをビューに入れてはいけません。
代わりに、ActionFilter を作成する必要があります。
また、Cookie を保護する方法も理解する必要があります。おそらく、ASP.Net の既存のメンバーシップ システムを使用する必要があります。
ページへのアクセスを制御するために Cookie を使用することは、良い考えとは思えません。Cookie を保護する方法を作成する必要がありますが、これは簡単ではありません。それがなければ、認証は簡単になりすますことができます。
この目的のために十分にテストされ、構築された MVC 4 の組み込みの認証および承認メカニズムを使用することをお勧めします。始めるための 1 つの記事を次に示します。
[Authorize]
MVC4 のおよび属性を使用すると[AllowAnonymous]
、サイトの一部を許可されたユーザーに制限する際に非常に柔軟に対応できます。
別の SO question への回答として、上記の属性を使用したより長い例を投稿しました。
いいえ、Cookie は誰でも簡単に操作できるので良くありません。
すでに利用可能な通常の認証および承認技術を使用したくないのはなぜですか?
Cookie の代わりにコントローラー/ページでAuthorize属性を使用し、ページを特定のロールに制限し、ユーザーをロールに割り当てる必要があります。