是否可以在 Spring SAML 中更改目标端点?默认值为 /saml/SSO
我需要将其更改为 /sso。 我编辑了
<bean id="samlFilter" class="org.springframework.security.web.FilterChainProxy">
<security:filter-chain pattern="/sso" filters="samlWebSSOProcessingFilter"/>
但它不起作用。 URL*/sso* 被视为需要身份验证的 URL,而不是应该接收 SAML 断言的 URL。
我正在使用身份提供商初始化的 SSO,因此该 URL 是接收 base64 编码的 XML 文档(HTTP 发布请求)的 URL。
如果没有其他选择,我会做服务器端从 /sso 到 saml/SSO 的重定向,但最好能够自定义它Spring Saml 配置中的 URL。
最佳答案
samlWebSSOProcessingFilter 的 filterProcessesUrl 属性是正确的答案并且工作正常。
在我的例子中,filterProcessesUrl 必须设置为“/sso”。 它对我不起作用,因为我将它设置为完整端点 URL (scheme://server:port/contextPath/sso) 而不仅仅是路径。
如文档中所述,其他一些属性必须设置为相同的值(samlFilter 过滤器和服务提供商元数据)。
最后,SAML 断言(来自身份提供者的 XML 文档)必须包含与服务提供者中配置的相同的 URL。
关于java - 如何更改 Spring SAML 目标端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29849447/