diff --git a/spring-boot-project/spring-boot-autoconfigure/build.gradle b/spring-boot-project/spring-boot-autoconfigure/build.gradle index c5cfa8171cf..feb44e09ffd 100644 --- a/spring-boot-project/spring-boot-autoconfigure/build.gradle +++ b/spring-boot-project/spring-boot-autoconfigure/build.gradle @@ -194,11 +194,11 @@ dependencies { optional("org.springframework.security:spring-security-data") { exclude group: "javax.xml.bind", module: "jaxb-api" } + optional("org.springframework.security:spring-security-messaging") optional("org.springframework.security:spring-security-oauth2-client") optional("org.springframework.security:spring-security-oauth2-jose") optional("org.springframework.security:spring-security-oauth2-resource-server") optional("org.springframework.security:spring-security-rsocket") - optional("org.springframework.security:spring-security-messaging") optional("org.springframework.security:spring-security-saml2-service-provider") optional("org.springframework.security:spring-security-web") optional("org.springframework.session:spring-session-core") diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfiguration.java index 06d20db59d8..108223ba497 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfiguration.java @@ -50,7 +50,7 @@ public class RSocketSecurityAutoConfiguration { static class RSocketSecurityMessageHandlerConfiguration { @Bean - RSocketMessageHandlerCustomizer springSecurityRSocketMessageHandler() { + RSocketMessageHandlerCustomizer rSocketAuthenticationPrincipalMessageHandlerCustomizer() { return (messageHandler) -> messageHandler.getArgumentResolverConfigurer() .addCustomResolver(new AuthenticationPrincipalArgumentResolver()); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfigurationTests.java index f4ea2bdc823..c86748bc1fd 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfigurationTests.java @@ -16,20 +16,16 @@ package org.springframework.boot.autoconfigure.security.rsocket; -import java.util.List; - import io.rsocket.core.RSocketServer; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.autoconfigure.rsocket.RSocketMessageHandlerCustomizer; import org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration; import org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration; import org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration; import org.springframework.boot.rsocket.server.RSocketServerCustomizer; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -import org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver; import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandler; import org.springframework.security.config.annotation.rsocket.RSocketSecurity; import org.springframework.security.messaging.handler.invocation.reactive.AuthenticationPrincipalArgumentResolver; @@ -76,16 +72,11 @@ class RSocketSecurityAutoConfigurationTests { } @Test - void autoConfigurationAddsCustomizerForMessageHandlerRSocketFactory() { - RSocketMessageHandler handler = new RSocketMessageHandler(); + void autoConfigurationAddsCustomizerForAuthenticationPrincipalArgumentResolver() { this.contextRunner.run((context) -> { - RSocketMessageHandlerCustomizer customizer = context.getBean(RSocketMessageHandlerCustomizer.class); - customizer.customize(handler); - - List customResolvers = handler.getArgumentResolverConfigurer() - .getCustomResolvers(); - assertThat(customResolvers).isNotEmpty(); - assertThat(customResolvers) + assertThat(context).hasSingleBean(RSocketMessageHandler.class); + RSocketMessageHandler handler = context.getBean(RSocketMessageHandler.class); + assertThat(handler.getArgumentResolverConfigurer().getCustomResolvers()).isNotEmpty() .anyMatch((customResolver) -> customResolver instanceof AuthenticationPrincipalArgumentResolver); }); }