2013-06-03 70 views
0

我目前有一個Spring 3項目,我想在會話過期時檢索會話。我一直在做一些研究,顯然HttpSessionBindingListener可以處理這個,雖然在Spring項目中,我似乎無法弄清楚如何正確實現它。在我的會話中,我保存了一個包含我的User對象的對象UserDetailsImpl。我是否應該對所述對象實施HttpSessionBindingListenerSpring:在會話超時之前調用方法

要清楚,我想要做的是在會話對象過期前從用戶的ID中檢索用戶的ID。

編輯:顯然HttpSessionBindingListener在Websphere中無法正常工作,但它在Tomcat中沒問題。還有其他的選擇嗎?

回答

0

您還可以在web.xml註冊監聽器:

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

及其使用方法sessionDestroyed()

這是這個答案詳細describd:https://stackoverflow.com/a/3720512/516167

注入Spring應用程序上下文在這個監聽器等進行了說明在這個問題上:

How to inject dependencies into HttpSessionListener, using Spring?

其他可能的解決方案描述如下:

Logout/Session timeout catching with spring security

相關問題