Skip to content

Commit c943ef1

Browse files
committed
Polish "Add principal resolution in RSocket handler methods"
See gh-28444
1 parent cf05964 commit c943ef1

File tree

3 files changed

+6
-15
lines changed

3 files changed

+6
-15
lines changed

spring-boot-project/spring-boot-autoconfigure/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,11 @@ dependencies {
194194
optional("org.springframework.security:spring-security-data") {
195195
exclude group: "javax.xml.bind", module: "jaxb-api"
196196
}
197+
optional("org.springframework.security:spring-security-messaging")
197198
optional("org.springframework.security:spring-security-oauth2-client")
198199
optional("org.springframework.security:spring-security-oauth2-jose")
199200
optional("org.springframework.security:spring-security-oauth2-resource-server")
200201
optional("org.springframework.security:spring-security-rsocket")
201-
optional("org.springframework.security:spring-security-messaging")
202202
optional("org.springframework.security:spring-security-saml2-service-provider")
203203
optional("org.springframework.security:spring-security-web")
204204
optional("org.springframework.session:spring-session-core")

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ RSocketServerCustomizer springSecurityRSocketSecurity(SecuritySocketAcceptorInte
5050
static class RSocketSecurityMessageHandlerConfiguration {
5151

5252
@Bean
53-
RSocketMessageHandlerCustomizer springSecurityRSocketMessageHandler() {
53+
RSocketMessageHandlerCustomizer rSocketAuthenticationPrincipalMessageHandlerCustomizer() {
5454
return (messageHandler) -> messageHandler.getArgumentResolverConfigurer()
5555
.addCustomResolver(new AuthenticationPrincipalArgumentResolver());
5656
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/rsocket/RSocketSecurityAutoConfigurationTests.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,16 @@
1616

1717
package org.springframework.boot.autoconfigure.security.rsocket;
1818

19-
import java.util.List;
20-
2119
import io.rsocket.core.RSocketServer;
2220
import org.junit.jupiter.api.Test;
2321

2422
import org.springframework.boot.autoconfigure.AutoConfigurations;
25-
import org.springframework.boot.autoconfigure.rsocket.RSocketMessageHandlerCustomizer;
2623
import org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration;
2724
import org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration;
2825
import org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration;
2926
import org.springframework.boot.rsocket.server.RSocketServerCustomizer;
3027
import org.springframework.boot.test.context.FilteredClassLoader;
3128
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
32-
import org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver;
3329
import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandler;
3430
import org.springframework.security.config.annotation.rsocket.RSocketSecurity;
3531
import org.springframework.security.messaging.handler.invocation.reactive.AuthenticationPrincipalArgumentResolver;
@@ -76,16 +72,11 @@ void autoConfigurationAddsCustomizerForServerRSocketFactory() {
7672
}
7773

7874
@Test
79-
void autoConfigurationAddsCustomizerForMessageHandlerRSocketFactory() {
80-
RSocketMessageHandler handler = new RSocketMessageHandler();
75+
void autoConfigurationAddsCustomizerForAuthenticationPrincipalArgumentResolver() {
8176
this.contextRunner.run((context) -> {
82-
RSocketMessageHandlerCustomizer customizer = context.getBean(RSocketMessageHandlerCustomizer.class);
83-
customizer.customize(handler);
84-
85-
List<HandlerMethodArgumentResolver> customResolvers = handler.getArgumentResolverConfigurer()
86-
.getCustomResolvers();
87-
assertThat(customResolvers).isNotEmpty();
88-
assertThat(customResolvers)
77+
assertThat(context).hasSingleBean(RSocketMessageHandler.class);
78+
RSocketMessageHandler handler = context.getBean(RSocketMessageHandler.class);
79+
assertThat(handler.getArgumentResolverConfigurer().getCustomResolvers()).isNotEmpty()
8980
.anyMatch((customResolver) -> customResolver instanceof AuthenticationPrincipalArgumentResolver);
9081
});
9182
}

0 commit comments

Comments
 (0)