2017-07-25 116 views
0

重新啓動Tomcat後,我發現身份驗證仍然存在,就像我再次登錄一樣。但是,在使用clean tomcat work directory後,認證丟失(切換回anonymousUser)。Spring Security:服務器重新啓動後身份驗證會保留

那麼Spring Security如何記住tomcat關閉之間的身份驗證?

與刪除的身份驗證相關的工作目錄中的內容是什麼?

它與記憶功能有關嗎?

+2

這與Spring Security沒有任何關係,但都與tomcat有關。如果您完全關閉tomcat並配置了將會話刷新到磁盤,那麼活動的會話在重新啓動後仍處於活動狀態(假定它們尚未超過其生存時間)。與您的servlet容器無關,Spring Security都是如此。 Spring Security會檢測會話,並且'SecurityContext'存儲在'HttpSession'中,並且會被重新恢復。 –

回答

2

Tomcat會在服務器重新啓動之間保留會話。您可以更改Tomcat configuration

這種行爲從Tomcat文檔

每當Tomcat是Apache正常關閉並重新啓動,或當 應用程序重新加載被觸發,該標準Manager實現 將嘗試序列化所有當前活動會話到通過路徑名屬性找到的磁盤文件 。當應用程序重新加載完成時,所有這些保存的會話將被反序列化並激活(假設它們尚未在平均時間內到期)。

相關問題