如何在Spring SAML中禁用服务提供程序初始化的SSO?

时间:2015-04-24 09:21:59

标签: java spring saml spring-saml

我的产品仅使用身份提供商初始化的SSO,它运行正常。 对http://localhost:8080/saml/SSO的请求已经过验证。对于正确的请求,会创建一个会话,对于错误的请求,我将获得状态401。

我对其他端点(应该受到保护的端点)的传入请求有问题,比如 http://localhost:8080/messages

当请求具有正确的,经过身份验证的会话ID时,它可以正常工作。 但是对于未经过身份验证的请求,我被重定向到我的身份提供商页面,其中包含URL

的https:/// SSO / SSO SAMLRequest =

如何禁用该行为?我只想拒绝那些“身份验证失败”响应的请求,而不与身份提供商进行任何交互。

1 个答案:

答案 0 :(得分:2)

只需删除负责初始化SP SSO的SAMLEntryPoint即可。然后,Spring Security将使用默认入口点,该入口点应该按预期运行。您仍然可以将SAML消息发送到/ saml / SSO。

修改 详细步骤如下:

  1. 创建实现 org.springframework.security.web.AuthenticationEntryPoint 的bean 最简单的是<bean name="http403ForbiddenEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>

  2. <security:http entry-point-ref="http403ForbiddenEntryPoint">

  3. 中使用该bean
  4. 删除<bean id="samlEntryPoint" class="org.springframework.security.saml.SAMLEntryPoint">