Java Spring Security从2.1.0开始->;2.5.0 SAML-许多反对意见
关于Spring Security 2.5.0的小问题 以前在2.1.0版本有一个Spring Boot+Spring安全项目 现在我进行了升级,升级到Spring Boot 2.5.0+Spring-security-saml2-service-provider 5.5.0 业务逻辑工作正常,我们使用它进行SAML身份验证,没有问题 我们得到的一个片段是:Java Spring Security从2.1.0开始->;2.5.0 SAML-许多反对意见,java,spring,spring-security,Java,Spring,Spring Security,关于Spring Security 2.5.0的小问题 以前在2.1.0版本有一个Spring Boot+Spring安全项目 现在我进行了升级,升级到Spring Boot 2.5.0+Spring-security-saml2-service-provider 5.5.0 业务逻辑工作正常,我们使用它进行SAML身份验证,没有问题 我们得到的一个片段是: //local signing (and decryption key) Saml2X509Credential si
//local signing (and decryption key)
Saml2X509Credential signingCredential = getSigningCredential();
//IDP certificate for verification of incoming messages
Saml2X509Credential idpVerificationCertificate = getVerificationCertificate();
String acsUrlTemplate = "{baseUrl}" + Saml2WebSsoAuthenticationFilter.DEFAULT_FILTER_PROCESSES_URI;
return RelyingPartyRegistration.withRegistrationId(registrationId)
.remoteIdpEntityId(idpEntityId)
.idpWebSsoUrl(webSsoEndpoint)
.credentials(c -> c.add(signingCredential))
.credentials(c -> c.add(idpVerificationCertificate))
.localEntityIdTemplate(localEntityIdTemplate)
.assertionConsumerServiceUrlTemplate(acsUrlTemplate)
.build();
同样,它工作得很好
我们将该项目升级到了最新的(截至撰写本文时)2.5.0版本,并且在代码段的大部分行中都看到了不推荐的内容
尝试查看SpringSecurity5.5.0,建议改用assertionConsumerServiceLocation
但我很难理解,什么是字符串取代一切
return RelyingPartyRegistration.withRegistrationId(registrationId).assertionConsumerServiceLocation("what comes here?").build();
有什么帮助吗?这些不推荐的动机是我们应该在
RelyingPartyRegistration
中使用
对约定进行了更改,以便更好地遵循注册要表示的元数据描述符
例如,RelyingPartyRegistration.ProviderDetails包含一个名为GetWebSourl的方法,但它不容易映射到IDPSSODescriptor中的任何内容。将其命名为getSingleSignOnServiceLocation会更清晰,因为此信息位于中
您可以在方法的javadoc中看到应该使用什么。像这样:
/**
*@不推荐使用{@link#assertionConsumerServiceLocation}。
*/
@不赞成
公共生成器assertionConsumerServiceUrlTemplate(字符串assertionConsumerServiceUrlTemplate){
this.assertionConsumerServiceLocation=assertionConsumerServiceUrlTemplate;
归还这个;
}
或者打开。我怀疑您升级了Spring Boot而不是Spring Security。Spring Security具有不同的版本控制方案。不推荐使用的内容通常在javadoc中有替换,而不是在参考指南中。