2013-01-14 109 views
1

我在我的grails應用程序中使用spring安全核心。我的應用程序有很多調用控制器的ajax調用。控制器依次取決於某些會話變量來完成請求。我目前能夠在會話超時時正確顯示ajax登錄表單。但是,它僅創建新創建的用戶對象的新會話。存儲在會話中的所有其他對象都將丟失。Grails Spring Security - 在會話超時後重新登錄會話變量

在會話超時後用戶重新登錄後,是否有重新加載會話變量的方法?

+2

這與Spring Security完全沒有關係。你是容器正在破壞會話。缺少用戶對象是觸發彈簧安全性告訴你的原因,你需要重新登錄。如果您不想丟失會話數據,請將其保存到數據庫/ cookie中。 – Gregg

+2

會話範圍的目的是在會話結束時擦除它。如果您需要在會話之間共享數據,則應重新考慮架構並將數據保存在數據庫(服務器端)或cookie(客戶端)中。 – moeTi

+0

感謝Gregg和moeTi。你們讓我以正確的方向思考。由於我只在會話中加入了一些變量,所以我不妨將它們作爲全局ajax設置的一部分,並將它們放入每個請求中,從而有效地使我的應用程序無狀態。由於現在我們的任何服務器都可以處理請求,因此該體系結構將具有負載平衡器友好的另一個好處。 – Abhay

回答

0

會話範圍的目的是在會話結束時擦除它。如果您需要共享會話之間的數據,你應該重新考慮你的架構,並堅持在一個數據庫(服務器端)的數據,或者一個Cookie(客戶端)

(從評論搬進一個答案)