From 1e26a24ad60e73f239f80b6d92f91d6ca7040dbc Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Fri, 8 Aug 2025 12:34:20 +0800 Subject: [PATCH 1/2] Change @Bean method signature to return RsaKeyConversionServicePostProcessor instead of BeanFactoryPostProcessor It's friendly for Spring Boot's `@ConditionalOnMissingBean`, and: >> When defining a Spring `@Bean` method, it is generally recommended to declare the most specific type possible as the method's return type. This means returning the concrete class of the bean, or the most specific interface that the bean implements and through which it will be referenced in the application. Signed-off-by: Yanming Zhou --- .../web/configuration/WebSecurityConfiguration.java | 4 ++-- .../annotation/web/reactive/WebFluxSecurityConfiguration.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 03942c41d4..7e506d8d02 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 @@ -33,7 +33,6 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; @@ -79,6 +78,7 @@ * * @author Rob Winch * @author Keesun Baik + * @author Yanming Zhou * @since 3.2 * @see EnableWebSecurity * @see WebSecurity @@ -190,7 +190,7 @@ void setWebSecurityCustomizers(List webSecurityCustomizer } @Bean - public static BeanFactoryPostProcessor conversionServicePostProcessor() { + public static RsaKeyConversionServicePostProcessor conversionServicePostProcessor() { return new RsaKeyConversionServicePostProcessor(); } 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 be6052224d..c4ac08ef1b 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 @@ -21,7 +21,6 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -44,6 +43,7 @@ /** * @author Rob Winch + * @author Yanming Zhou * @since 5.0 */ @Configuration(proxyBeanMethods = false) @@ -100,7 +100,7 @@ CsrfRequestDataValueProcessor requestDataValueProcessor() { } @Bean - static BeanFactoryPostProcessor conversionServicePostProcessor() { + static RsaKeyConversionServicePostProcessor conversionServicePostProcessor() { return new RsaKeyConversionServicePostProcessor(); } From 746bf521240c8151546d350d6b0401c648b6dd2d Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Thu, 14 Aug 2025 08:39:38 +0800 Subject: [PATCH 2/2] Polish WebFluxSecurityConfiguration Signed-off-by: Yanming Zhou --- .../annotation/web/reactive/WebFluxSecurityConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c4ac08ef1b..466db488c2 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 @@ -49,7 +49,7 @@ @Configuration(proxyBeanMethods = false) class WebFluxSecurityConfiguration { - public static final int WEB_FILTER_CHAIN_FILTER_ORDER = 0 - 100; + public static final int WEB_FILTER_CHAIN_FILTER_ORDER = -100; private static final String BEAN_NAME_PREFIX = "org.springframework.security.config.annotation.web.reactive.WebFluxSecurityConfiguration.";