diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/reactive/ServerHttpSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/web/reactive/ServerHttpSecurityConfiguration.java index 8cc8378f09e..1cc17fed540 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/reactive/ServerHttpSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/reactive/ServerHttpSecurityConfiguration.java @@ -47,24 +47,44 @@ class ServerHttpSecurityConfiguration implements WebFluxConfigurer { private static final String BEAN_NAME_PREFIX = "org.springframework.security.config.annotation.web.reactive.HttpSecurityConfiguration."; private static final String HTTPSECURITY_BEAN_NAME = BEAN_NAME_PREFIX + "httpSecurity"; - @Autowired(required = false) private ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry(); - @Autowired(required = false) private ReactiveAuthenticationManager authenticationManager; - @Autowired(required = false) private ReactiveUserDetailsService reactiveUserDetailsService; - @Autowired(required = false) private PasswordEncoder passwordEncoder; - @Autowired(required = false) private ReactiveUserDetailsPasswordService userDetailsPasswordService; @Autowired(required = false) private BeanFactory beanFactory; + @Autowired(required = false) + void setAdapterRegistry(ReactiveAdapterRegistry adapterRegistry) { + this.adapterRegistry = adapterRegistry; + } + + @Autowired(required = false) + void setAuthenticationManager(ReactiveAuthenticationManager authenticationManager) { + this.authenticationManager = authenticationManager; + } + + @Autowired(required = false) + void setReactiveUserDetailsService(ReactiveUserDetailsService reactiveUserDetailsService) { + this.reactiveUserDetailsService = reactiveUserDetailsService; + } + + @Autowired(required = false) + void setPasswordEncoder(PasswordEncoder passwordEncoder) { + this.passwordEncoder = passwordEncoder; + } + + @Autowired(required = false) + void setUserDetailsPasswordService(ReactiveUserDetailsPasswordService userDetailsPasswordService) { + this.userDetailsPasswordService = userDetailsPasswordService; + } + @Override public void configureArgumentResolvers(ArgumentResolverConfigurer configurer) { configurer.addCustomResolver(authenticationPrincipalArgumentResolver()); diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/reactive/WebFluxSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/web/reactive/WebFluxSecurityConfiguration.java index 26192f785b6..ea683455f71 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/reactive/WebFluxSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/reactive/WebFluxSecurityConfiguration.java @@ -51,12 +51,16 @@ class WebFluxSecurityConfiguration { private static final boolean isOAuth2Present = ClassUtils.isPresent( REACTIVE_CLIENT_REGISTRATION_REPOSITORY_CLASSNAME, WebFluxSecurityConfiguration.class.getClassLoader()); - @Autowired(required = false) private List securityWebFilterChains; @Autowired ApplicationContext context; + @Autowired(required = false) + void setSecurityWebFilterChains(List securityWebFilterChains) { + this.securityWebFilterChains = securityWebFilterChains; + } + @Bean(SPRING_SECURITY_WEBFILTERCHAINFILTER_BEAN_NAME) @Order(value = WEB_FILTER_CHAIN_FILTER_ORDER) public WebFilterChainProxy springSecurityWebFilterChainFilter() {