根据link的答案,我了解如果调用SAML本地注销(/saml/logout?local=true
),Spring-SAML将清除本地cookie。所以,我已经修改了我的应用程序中的注销逻辑来调用它。
直到现在一切看起来都不错。但我的应用程序在web.xml中将会话超时设置为20分钟。
<session-config>
<session-timeout>20</session-timeout>
</session-config>
如果用户处于非活动状态20分钟或用户关闭浏览器,则会话将被容器以静默方式销毁。在这种情况下,不会调用SAML Logout。
问题:
我担心的是,如果未清理引用,则可能会导致应用程序长时间内存泄漏。
答案 0 :(得分:2)
默认情况下,Spring SAML的所有状态都存储在HttpSession
中(作为对象SAMLCredential
中Spring Security上下文的一部分)并将在会话超时时清除(或者更确切地说,在容器决定时)在到期后执行会话清理。)
与Spring Security支持的任何其他身份验证方法完全相同,因此您不必担心不会调用本地注销。