これは、私が尋ねた別の質問に関連しています。要約すると、フォームが POST されたときに、認証やユーザーのセッションの維持のために Cookie に頼ることができない URL の特殊なケースがあります。彼らがログインしていることを知るために!
問題の解決策を思いついたと思いますが、具体化する必要があります。これが私が考えていることです。「username」という非表示のフォーム フィールドを作成し、その中にユーザーのユーザー名を暗号化して配置します。次に、フォームが POST すると、ブラウザーから Cookie を受信しなくても、非表示のフォーム フィールドを解読してユーザー名を取得できるため、ログインしていることがわかります。
私が見ることができる主要なセキュリティ上の欠陥は、リプレイ攻撃です。誰かがその暗号化された文字列を入手して、そのユーザーとして投稿するのを防ぐにはどうすればよいですか? SSL を使用してその文字列を盗みにくくすることができることはわかっています。暗号化キーを定期的にローテーションして、文字列が有効な時間を制限することもできますが、防弾を見つけたいと思っています。解決。誰にもアイデアはありますか?ASP.Net ViewState は再生を妨げますか? もしそうなら、彼らはどのようにそれをしますか?
編集:データベースに何も保存する必要のないソリューションを望んでいます。アプリケーションの状態は問題ありませんが、IIS の再起動に耐えられないか、Web ファームまたはガーデン シナリオでまったく機能しません。データベースなしでこれを保護することさえ可能であると確信していないので、今のところクリスの答えを受け入れています。しかし、誰かがデータベースに関係のない答えを思いついたら、私はそれを受け入れます!