我们目前正在尝试将SAML集成添加到我们的项目中,其中一个要求是管理员可以使用该系统将身份验证添加到网站的一部分。
例如,如果应用程序托管在“foo.com”,那么他们就可以指定所有以“foo.com/secret”开头的页面都应使用SAML进行身份验证。
我知道如何在系统启动时静态完成此操作,但我很难找到有关如何在运行时更改Spring Security设置的任何信息。
我目前正在尝试在示例saml项目上测试它,可在此处找到:https://github.com/vdenotaris/spring-boot-security-saml-sample
WebSecurityConfig类的configure方法如下所示:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.httpBasic()
.authenticationEntryPoint(samlEntryPoint());
http
.csrf()
.disable();
http
.addFilterBefore(metadataGeneratorFilter(), ChannelProcessingFilter.class)
.addFilterAfter(samlFilter(), BasicAuthenticationFilter.class);
http
.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/error").permitAll()
.antMatchers("/saml/**").permitAll()
.anyRequest().authenticated();
http
.logout()
.logoutSuccessUrl("/");
}
我希望能够为经过身份验证的新网址添加额外的antMatcher。我已经能够在运行时更改http对象,但这对安全性没有影响。