【问题标题】:SAML endpoints don't match by using the roor dirSAML 端点与使用 roor 目录不匹配
【发布时间】:2014-10-01 17:15:04
【问题描述】:

为了设置我的服务提供者的 SAML 上下文,我使用如下配置:

// Provider of default SAML Context
@Bean
public SAMLContextProviderLB contextProvider() {
    SAMLContextProviderLB provider = new SAMLContextProviderLB();
    provider.setScheme("http");
    provider.setServerPort(8090);
    provider.setIncludeServerPortInRequestURL(true);
    provider.setServerName("localhost");
    provider.setContextPath("/");
    return provider;
}

它返回这个错误(只需要一个“斜线”就不需要了):

BaseSAMLMessageDecoder: SAML message intended destination endpoint 'http://localhost:8090/saml/SSO/alias/defaultAlias' did not match the recipient endpoint 'http://localhost:8090//saml/SSO/alias/defaultAlias'

我该如何解决?

【问题讨论】:

    标签: spring spring-security saml-2.0 spring-saml


    【解决方案1】:

    provider.setContextPath("/"); 更改为provider.setContextPath(""); 或升级到1.0.0.RELEASE 应该能够正确处理"/"

    【讨论】:

    • 如果我设置 provider.setContextPath("");,它会在运行时返回错误。
    • 您使用的是旧版本。