バニラフォーム認証を使用しています。同じユーザーとして複数のセッションを開いている場合、1 つのセッションでパスワードを変更しても、他のセッションは引き続き認証されます。
2 番目のセッションで資格情報の入力を再度求められると思います。
この機能を取得するには、ハッシュ化されたパスワードを Cookie に書き込み、リクエストごとに確認する必要がありますか?
私にはセキュリティホールのように思えます。
バニラフォーム認証を使用しています。同じユーザーとして複数のセッションを開いている場合、1 つのセッションでパスワードを変更しても、他のセッションは引き続き認証されます。
2 番目のセッションで資格情報の入力を再度求められると思います。
この機能を取得するには、ハッシュ化されたパスワードを Cookie に書き込み、リクエストごとに確認する必要がありますか?
私にはセキュリティホールのように思えます。
これは予期される動作です。FormsAuthentication は、ユーザー情報のみを保存します (サーバーが実際にその Cookie を生成したことを検証するための他のデータと共に)。Cookie 自体が有効な資格情報 (またはチケットまたはクレーム) です。これが心配な場合は、フォーム Cookie が有効な時間を短縮するか、パスワードの変更が発生したかどうかをサーバーに確認するためにさらに頻繁に電話をかけ、変更があった場合は FormsAuthentication.SignOut() アクションを実行して強制的にログインする。
FormsAuthentication に何をさせたいかではなく、それが何をするかです。
お役に立てれば。
私のコメントで述べたように、それがあなたが望む行動であるならば、あなたはあなた自身でこの行動を強制する必要があります。これは、独自の「SecureBasePage」からすべての安全なページを取得するのと同じくらい簡単です。その安全なページで、データベースをポーリングして、ユーザーが許可されてからパスワードが変更されたかどうかを確認できます。