【问题标题】:How to disable Service provider initialized SSO in Spring SAML?如何在 Spring SAML 中禁用服务提供者初始化的 SSO?
【发布时间】:2015-07-02 19:49:39
【问题描述】:

我的产品仅使用身份提供者初始化的 SSO,它工作正常。 验证对http://localhost:8080/saml/SSO 的请求。对于正确的请求,会创建一个会话,对于错误的请求,我会得到状态 401。

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

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

https:///sso/SSO?SAMLRequest=

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

【问题讨论】:

    标签: java spring saml spring-saml


    【解决方案1】:

    只需删除负责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">中使用那个bean

    3. 删除<bean id="samlEntryPoint" class="org.springframework.security.saml.SAMLEntryPoint">

    【讨论】:

    • 谢谢,它工作得很好!我编辑了您的答案并添加了详细步骤。
    猜你喜欢
    • 2014-04-24
    • 2016-01-25
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2012-08-07
    • 2016-12-14
    • 2020-10-26
    • 1970-01-01
    相关资源
    最近更新 更多