Spring security-无限用户会话超时与IDP

Posted

技术标签:

【中文标题】Spring security-无限用户会话超时与IDP【英文标题】:Spring security- Infinite user session time out with IDP 【发布时间】:2017-01-31 03:01:53 【问题描述】:

我们的应用程序使用 Spring 安全 SAML 来处理用户身份验证。我有一个要求让用户会话无限期地保持活动状态。 有没有办法在 Spring SAML 中为用户会话超时设置无限超时?

IDP有以下配置,所以没问题。

<session-config>

    <session-timeout>-1</session-timeout>

</session-config>

在 SP 中,maxAuthenticationAge 设置为 36000 以使其保持活动状态 10 小时。 默认为 7200。http://docs.spring.io/spring-security-saml/docs/current/api/org/springframework/security/saml/websso/WebSSOProfileConsumerImpl.html

一种解决方案可能是通过定期在后台发出身份验证请求来保持会话处于活动状态(不太确定这种方法),以便它永远不会注销。请问还有什么好办法吗?

【问题讨论】:

您确定要“无限”吗?这是 OutOfMemoryError 的秘诀。 是的,它将是可配置的,但真的很想要那个功能。 【参考方案1】:

为了使其无限,您可以将其设置为一个非常长的值:-

 webSSOProfileConsumer.setMaxAuthenticationAge(Long.MAX_VALUE);

【讨论】:

以上是关于Spring security-无限用户会话超时与IDP的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Security saml 的 IDP 会话超时

ajax 调用无法识别 Spring Security 会话超时

使用 Spring Security Adapter 时的 Keycloak 会话超时行为

Spring Security 会话超时太短

Spring Boot,Spring Security,会话范围 Bean 的会话超时问题,@PreDestroy

具有自定义会话超时的 Spring Security [关闭]