我有一个使用SecurityFilterAutoConfiguration
功能的Spring Boot(2.1.5)应用程序。在DelegatingFilterProxyRegistrationBean
注册期间,仅设置了REQUEST
,ASYNC
,ERROR
DispatcherTypes
。但是我也需要FORWARD
和INCLUDE
。
Spring Boot 1.x中的属性 security.filter-dispatcher-types
不再起作用。
我可以通过以下方法“覆盖” DelegatingFilterProxyRegistrationBean
来解决此问题:
@Bean
@ConditionalOnBean(name = DEFAULT_FILTER_NAME)
@Primary
public DelegatingFilterProxyRegistrationBean customSecurityFilterChainRegistration(SecurityProperties securityProperties) {
DelegatingFilterProxyRegistrationBean registration = new DelegatingFilterProxyRegistrationBean(DEFAULT_FILTER_NAME);
registration.setOrder(securityProperties.getFilter().getOrder());
registration.setDispatcherTypes(allOf(DispatcherType.class));
return registration;
}
但这对我来说似乎不是一个非常优雅的解决方案。
是否可以为Spring Boot 2.1.x显式配置此配置?
答案 0 :(得分:2)
您必须使用spring.security.filter.dispatcher-types
,请参见Spring Boot 2.0 Configuration Changelog。