如何为 SecurityFilterAutoConfiguration 配置 DispatcherType?

Phi*_* Li 1 spring-security spring-boot

我有一个使用该SecurityFilterAutoConfiguration功能的 Spring Boot (2.1.5) 应用程序。注册期间DelegatingFilterProxyRegistrationBean仅 设置REQUESTASYNC、 。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;
}
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎不是一个非常优雅的解决方案。

有没有办法为 Spring Boot 2.1.x 显式配置它?

dur*_*dur 5

你必须使用spring.security.filter.dispatcher-types,请参阅Spring Boot 2.0 配置变更日志