ASP.NET MVCアプリケーションで個々の(動的な)ページを保護したいと考えています。ASP.NET MVCのページでの簡単なパスワード保護
私は完全な認証システムを使いたくありません。私たちはすでにサイトの管理者にフォーム認証を使用しています。代わりに、これは特定のユーザーのためのパスワードを持つページへのリンクを送信できるようにするためのものです。
私がこれを処理する方法は、有効なパスワードが送信されたときにページID(Guid)とそのセッションIDを含む暗号化されたCookieを作成し、ページにリダイレクトすることです。私たちの "Page"コントローラアクションでは、このCookieを検証します。
最初の質問ですが、これはフォーム認証を使用する以外にも最も安全な方法ですか?
2番目の質問では、フォーム認証で使用されるマシンキーを読み取って暗号化を実行したり、FormsAuthenticationを使用してCookieを暗号化したりすることはできますか(FormsAuthenticationTicketを必要とするオーバーロードのみです)。
展開する前に常に新しいマシンキーを生成するので、すべての暗号化で同じキーが使用された方が良いでしょう。私はhttp://rich-rogers.com/archive/asp.net-c-sharp-encrypt-hash-using-machinekey-valuesで私の答えを見つけたのマシンキーにアクセスする方法について
[更新]
[更新2]私は維持する必要があるためというこの質問をした後に実現
彼らがアクセスできるページのリストは、私はたぶん現在のセッションでこれらを保存する方が良いでしょう。私は、有効期限付きのセキュリティトークンのリストを保存することができます。私はすでにセッションの周りにラッパーを持っているので、これは単体テストにも簡単なはずです。