如果我使用Java Config设置SS HttpSecurity。 Spring Boot会创建一个springSecurityFilterChain,它会在安装日志期间记录。但是,不会调用现在具有标准URL模式的FilterRegistrationBeans。
这是标准行为吗?哪里......一旦安装了Spring Security,我的所有Servlet FilterBeanRegistration都会突然崩溃?我原本以为Spring Boot会自动弄清楚如何添加"它们自动进入相应的springSecurityFilterChain。无论如何,这不是我所看到的。
我看到了http.addFilter(myFilter)API方法。但是,我不想污染我的SecurityConfig以了解我拥有的所有这些过滤器。如何将自定义Servlet过滤器添加到来自'外部'的springSecurityFilterChain bean中。可以这么说?你知道..'自动配置'他们自己,上了springSecurityFilterChain。 :)
答案 0 :(得分:0)
正如您在下面所见,WebSecurityConfigurerAdapter
默认情况下会为安全过滤器链添加许多内容。
虽然我仍然不知道哪个设置导致FilterBeanRegistrations
中断,但将disableDefaults
设置为true
并自行配置安全过滤器链就可以了。
if(!disableDefaults) {
http
.csrf().and()
.addFilter(new WebAsyncManagerIntegrationFilter())
.exceptionHandling().and()
.headers().and()
.sessionManagement().and()
.securityContext().and()
.requestCache().and()
.anonymous().and()
.servletApi().and()
.apply(new DefaultLoginPageConfigurer<HttpSecurity>()).and()
.logout();
}