ユーザーが必要に応じてRemember-Me-Serviceを使用してログインおよびログアウトできるWebアプリケーションを開発するために、Spring Framework 3.0.5およびSpring Security 3.0.5を使用しています。
経験が少ないので、ちゃんと動くのかな。PersistentTokenApproach を使用します (Hibernate を使用しているため、独自の実装を使用します)。ログイン時に Cookie が作成され、ログアウト時に削除されることがわかります。有効なRemember-Me-Cookieがあり、ブラウザを閉じた場合、ブラウザを再度開いたときに再度ログインに成功しました。ここまでは順調ですね。
さて、私が気付いたことが期待どおりに機能しているかどうか、またはおそらく間違いを犯したかどうかを知りたいだけです.
1)ユーザーがremember-meなしでログインし、ブラウザータブが閉じられている場合(ブラウザー自体ではありません)、新しいブラウザータブを再度開くと、ユーザーはまだ認証されています(同じJSESSIONIDを使用しています)。ブラウザーを閉じて再度開くと、彼はもう認証されていません。Web アプリケーションのセキュリティに関して、これは推奨される (「通常の」) 動作ですか?
2) remember-me が使用され、ユーザーが (ログインによって、または後で Cookie によって) 正常に認証されると、Cookie のチェックは行われなくなります。つまり、その間にユーザーがオンラインである場合、データベースから Cookie を削除しても、ユーザーはログインしたままで、保護されたページも見ることができます。これは、彼が以前に認証され、同じ SESSIONID を使用し続けているために発生したと思います。ブラウザーを閉じて再度開くと、彼はもう認証されていません。
3) Cookie を所有しておらず、メイン ページを開くと、送信するすべての要求 (ページ上のすべての画像、すべてのファイル) に対して、サーバーは rememberme-cookie をチェックします。あれは正しいですか?
初心者の質問で申し訳ありませんが、すべてが正常に機能していることを確認したいだけです。:-) 前もって感謝します!