2015-02-24 81 views
2

根據link的回答,我知道如果SAML本地註銷(/saml/logout?local=true)被調用,Spring-SAML將清除本地cookie。所以,我修改了我的應用程序中的註銷邏輯來調用它。Spring SAML - 當用戶從應用程序註銷時,是否必須調用SAML本地註銷?

一切看起來很好,直到現在。但是我的應用程序在web.xml中將會話超時設置爲20分鐘。

<session-config> 
     <session-timeout>20</session-timeout> 
</session-config> 

在用戶閒置20分鐘或瀏覽器的情況下被用戶關閉時,會話將被由容器默默地破壞。在這種情況下,SAML註銷不會被調用。

問題:

  1. 春天在什麼-SAML保持任何引用一旦收到SAML響應之後用戶進行身份驗證?
  2. 如果是,它在哪裏維護引用(會話或其他地方)?任何替代方法來清理它們?
  3. 如果我們不調用SAML本地註銷,會有什麼影響?

我擔心的是,如果引用沒有被清理,它可能會導致應用程序長期運行時發生內存泄漏。

回答

2

默認春SAML的所有狀態被存儲在HttpSession(如春季安全上下文的一部分,目的SAMLCredential),並在會話超時的時候你的容器決定執行期滿後會話清理及時清理(或者更精確地)。

這與Spring Security支持的任何其他身份驗證方法完全相同,因此您不必擔心不會調用本地註銷。

相關問題