diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java index 85dd907ff8..73a56456d8 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java @@ -122,7 +122,6 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex } @Bean - @Deprecated static BeanDefinitionRegistryPostProcessor springSecurityHandlerMappingIntrospectorBeanDefinitionRegistryPostProcessor() { return new BeanDefinitionRegistryPostProcessor() { @Override diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.java index abc753d3bc..7e31a0ebf9 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.java @@ -303,17 +303,11 @@ public class WebSecurityConfiguration implements ImportAware { * @param filters the Filters to delegate to. One of which must be * FilterChainProxy. */ - @Autowired CompositeFilterChainProxy(List filters) { this.doFilterDelegate = createDoFilterDelegate(filters); this.springSecurityFilterChain = findFilterChainProxy(filters); } - CompositeFilterChainProxy(Filter delegate, FilterChainProxy filterChain) { - this.doFilterDelegate = delegate; - this.springSecurityFilterChain = filterChain; - } - @Override public void afterPropertiesSet() { this.springSecurityFilterChain.afterPropertiesSet(); diff --git a/config/src/main/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHints.java b/config/src/main/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHints.java index 5f3e62aaa1..2eda4fb160 100644 --- a/config/src/main/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHints.java +++ b/config/src/main/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHints.java @@ -35,6 +35,9 @@ class WebSecurityConfigurationRuntimeHints implements RuntimeHintsRegistrar { .registerType(TypeReference .of("org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy"), MemberCategory.INVOKE_DECLARED_CONSTRUCTORS); + hints.reflection() + .registerType(TypeReference.of("org.springframework.web.filter.ServletRequestPathFilter"), + MemberCategory.INVOKE_DECLARED_CONSTRUCTORS); } } diff --git a/config/src/test/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHintsTests.java b/config/src/test/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHintsTests.java index 7e94b044b9..d8f1de54c7 100644 --- a/config/src/test/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHintsTests.java +++ b/config/src/test/java/org/springframework/security/config/aot/hint/WebSecurityConfigurationRuntimeHintsTests.java @@ -51,6 +51,9 @@ class WebSecurityConfigurationRuntimeHintsTests { .onType(TypeReference .of("org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy")) .withMemberCategory(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)).accepts(this.hints); + assertThat(RuntimeHintsPredicates.reflection() + .onType(TypeReference.of("org.springframework.web.filter.ServletRequestPathFilter")) + .withMemberCategory(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)).accepts(this.hints); } }