1

現在、Spring 3 プロジェクトがあり、セッションの有効期限が切れたときにセッションを取得したいと考えています。私はいくつかの調査を行ってきましたが、明らかにHttpSessionBindingListenerこれを処理できますが、Spring プロジェクトでは、これを適切に実装する方法がわかりません。セッション内で、UserDetailsImplオブジェクトを含むオブジェクトを保存しUserます。HttpSessionBindingListener指定されたオブジェクトに実装する必要がありますか?

明確にするために、私がやりたいことは、有効期限が切れる前にセッション オブジェクトからユーザーの ID を取得することです。

編集: HttpSessionBindingListenerWebsphere では正しく動作しないようですが、Tomcat では問題ありません。他の選択肢はありますか?

4

1 に答える 1

1

にリスナーを登録することもできますweb.xml

<listener>
    <listener-class>com.example.MyHttpSessionListener</listener-class>
</listener>

そして使用方法sessionDestroyed()

これは、この回答で詳しく説明されています: https://stackoverflow.com/a/372 ​​0512/516167

このリスナーに Spring Application Context を挿入する方法は、この質問で説明されています。

Springを使用して依存関係をHttpSessionListenerに注入する方法は?

他の考えられる解決策については、ここで説明します。

春のセキュリティでキャッチログアウト/セッションタイムアウト

于 2014-01-09T21:56:37.923 に答える