1

春のセキュリティでセッションタイムアウトを実装しようとしています。web.xml とセキュリティ コンテキストをセットアップしましたが、ユーザーがルート "/" にアクセスしようとすると問題が発生します。Spring はそれを無効なセッションと見なし (技術的にはそうであるため)、/sessiontimeout にリダイレクトします。

ユーザーがまだログインしていないため、この最初の無効なセッションを無視する方法はありますか? または、期限切れのセッションと無効なセッションを区別しますか?

web.xml

<session-config>
    <session-timeout>1</session-timeout>
</session-config>

セキュリティ コンテキスト

<security:session-management invalid-session-url="/sessiontimeout" />

または、簡単な方法で各ページに JavaScript を追加することもできます...

4

1 に答える 1

2

「無効なセッション」は、ユーザーが認証されていないセッションではありません。これは、ブラウザーが古いセッションの JSESSIONID Cookie を送信したときです。たとえば、タイムアウトになったときだけでなく、ユーザーがログアウトしたが Cookie がまだ存在している可能性もあります。

ほとんどの場合、これはあなたが見ているものです。リファレンス マニュアルで説明されているように、ユーザーがログアウトしたときにセッション Cookie を削除しようとするように Spring Security を構成できます。

于 2013-01-29T19:46:27.843 に答える