saml-2.0 - Spring SAML - 当用户从应用程序注销时是否强制调用 SAML 本地注销?

标签 saml-2.0 spring-saml opensaml

根据 link 的回答,据我了解,如果调用 SAML 本地注销 (/saml/logout?local=true),Spring-SAML 将清除本地 cookie。因此,我修改了应用程序中的注销逻辑来调用它。

到目前为止一切看起来都很好。但我的应用程序在 web.xml 中将 session 超时设置为 20 分钟。

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

如果用户闲置 20 分钟或浏览器被用户关闭, session 将被容器静默销毁。在这种情况下,不会调用 SAML 注销。

问题:

  1. 在收到 SAML 响应后对用户进行身份验证后,Spring-SAML 是否会维护任何引用?
  2. 如果是,它在哪里维护引用( session 或其他地方)?有什么其他方法可以清理它们吗?
  3. 如果我们不调用 SAML 本地注销,会有什么影响?

我担心的是,如果不清理引用,可能会导致应用程序长期运行时内存泄漏。

最佳答案

默认情况下,Spring SAML 的所有状态都存储在 HttpSession 中(作为对象 SAMLCredential 中 Spring Security 上下文的一部分),并将在 session 超时时清除(或更准确地说)当您的容器决定在过期后执行 session 清理时)。

它与 Spring Security 支持的任何其他身份验证方法完全相同,因此您无需担心未调用本地注销。

关于saml-2.0 - Spring SAML - 当用户从应用程序注销时是否强制调用 SAML 本地注销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28693150/

相关文章:

spring - 即使在 IDP 使用 SAML 成功登录后,获取身份验证对象也为空

java - Opensaml key 信息配置

java - 在 Java 中使用 OpenSAML 的 ADFS 和 SAML 2.0

single-sign-on - SSO 将身份服务器与 SAML 2 与其他身份提供者一起使用

java - 如何支持SAML进行用户身份验证

c# - SAML2 SSO - EntityId URI 是否支持查询字符串参数

asp.net-core - .net 核心和 SAML 2.0

saml - spring-saml 中 SAML 请求的无限循环

spring - 由 : sun. security.validator.ValidatorException 引起:PKIX 路径构建失败

java - opensaml java 加密断言 - 无法使用 EncryptedKeyResolver 解密 EncryptedData