首页 > 解决方案 > 如何为 SecurityFilterAutoConfiguration 配置 DispatcherType?

问题描述

我有一个使用该SecurityFilterAutoConfiguration功能的 Spring Boot (2.1.5) 应用程序。在注册期间,DelegatingFilterProxyRegistrationBean仅 设置REQUESTASYNCERROR 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 显式配置这个?

标签: spring-bootspring-security

解决方案


您必须使用spring.security.filter.dispatcher-types,请参阅Spring Boot 2.0 Configuration Changelog


推荐阅读