我的产品仅使用身份提供商初始化的SSO,它运行正常。 对http://localhost:8080/saml/SSO的请求已经过验证。对于正确的请求,会创建一个会话,对于错误的请求,我将获得状态401。
我对其他端点(应该受到保护的端点)的传入请求有问题,比如 http://localhost:8080/messages
当请求具有正确的,经过身份验证的会话ID时,它可以正常工作。 但是对于未经过身份验证的请求,我被重定向到我的身份提供商页面,其中包含URL
的https:/// SSO / SSO SAMLRequest =
如何禁用该行为?我只想拒绝那些“身份验证失败”响应的请求,而不与身份提供商进行任何交互。
答案 0 :(得分:2)
只需删除负责初始化SP SSO的SAMLEntryPoint
即可。然后,Spring Security将使用默认入口点,该入口点应该按预期运行。您仍然可以将SAML消息发送到/ saml / SSO。
修改强> 详细步骤如下:
创建实现 org.springframework.security.web.AuthenticationEntryPoint 的bean
最简单的是<bean name="http403ForbiddenEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>
在<security:http entry-point-ref="http403ForbiddenEntryPoint">
删除<bean id="samlEntryPoint" class="org.springframework.security.saml.SAMLEntryPoint">