【发布时间】:2015-04-20 22:55:48
【问题描述】:
我们的应用程序过去只有一种登录方式:用户名和密码。一旦新用户登录到应用程序,他们的会话就会出现在 Spring Security 的 SessionRegistry 中。
现在我在 Spring SAML 的帮助下实现了 SAML 支持。我将设置重点放在sample application's configuration 上。一切正常。但是我注意到通过 SAML 登录的用户不会将他们的会话添加到 SessionRegistry。
基于表单的身份验证的常用上下文文件包含以下内容:
<session-management
invalid-session-url="/login"
session-fixation-protection="newSession"
session-authentication-error-url="/login?invalid_session=1">
<concurrency-control
max-sessions="1"
error-if-maximum-exceeded="false"
session-registry-alias="springSessionRegistry"/>
</session-management>
在我的 SAML 配置的 http 元素中,我添加了相同的内容。这创建了一个新的SessionRegistry,但它不包含任何内容。我也试过了
<concurrency-control session-registry-ref="springSessionRegistry"/>
但这也不包含任何经过 SAML 身份验证的会话。
那么如何访问 SAML 会话?
【问题讨论】:
标签: java spring session spring-security spring-saml