我正在尝试将siteminder与Spring Security集成。 已经连接Windows的用户(域身份验证)可以使用当前Windows用户名访问WebApplication(Tomcat-RHEL),角色由WebApp自己管理。 有可能的 ?有没有什么例子可以帮助我启动这个项目
我曾经读过有关Spring Security的文章,但我不知道如何实现此配置。 https://docs.spring.io/spring-security-saml/docs/1.0.0.RELEASE/reference/html/chapter-quick-start.html
答案 0 :(得分:0)
我们正在重写Spring Security SAML,以提供更好的用户体验。
同时,您可以浏览我们的里程碑版本2.0.0.M24
,这是最新的。
Gradle URL
repositories {
...
maven { url "https://repo.spring.io/milestone" }
...
}
导入依赖项
compile "org.springframework.security.extensions:spring-security-saml2-core:2.0.0.M24")
如果要尝试使用sample project available [1]
。它是核心存储库的一部分。
github贡献者还创建了一个separate sample and guide
这应该让您入门。
未来将看起来像这样(尚未发布):
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
//application security
.authorizeRequests()
.anyRequest().authenticated()
.and()
//saml security
.apply(
SamlServiceProviderConfigurer.saml2Login()
)
;
// @formatter:on
}
@Bean
protected ServiceProviderConfigurationResolver configurationResolver() {
return fromConfiguration(
config -> config
.keys(
KeyData.builder()
.id("sp-signing-key")
.privateKey(privateKey)
.certificate(certificate)
.passphrase("sppassword")
.build()
)
.providers(
ExternalIdentityProviderConfiguration.builder()
.alias("simplesamlphp")
.metadata("http://simplesaml-for-spring-saml.cfapps.io/saml2/idp/metadata.php")
.build()
)
);
}
private String privateKey = "-----BEGIN RSA PRIVATE KEY-----\n" +
"Proc-Type: 4,ENCRYPTED\n" +
"DEK-Info: DES-EDE3-CBC,7C8510E4CED17A9F\n" +
"\n" +
"...==\n" +
"-----END RSA PRIVATE KEY-----";
private String certificate = "-----BEGIN CERTIFICATE-----\n" +
"...\n" +
"RZ/nbTJ7VTeZOSyRoVn5XHhpuJ0B\n" +
"-----END CERTIFICATE-----";
}
参考: