是否可以在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 post请求)的URL。
如果没有其他选项,我会从 / sso 到 saml / SSO 进行服务器端重定向,但最好能够自定义Spring Saml配置中的URL。
答案 0 :(得分:3)
samlWebSSOProcessingFilter的filterProcessesUrl属性是正确的答案,并且工作正常。
在我的例子中,filterProcessesUrl必须设置为“/ sso”。 它对我不起作用,因为我将它设置为完整的端点URL(scheme:// server:port / contextPath / sso),而不仅仅是路径。
如文档中所述,必须将其他一些属性设置为相同的值(samlFilter过滤器和服务提供者元数据)。
最后,SAML断言(来自身份提供商的XML文档)必须包含与服务提供商中配置的URL相同的URL。