mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-06-14 08:02:22 +00:00
Update websocket integration docs
This commit is contained in:
parent
f396109e12
commit
4a9a350ed0
@ -365,6 +365,15 @@ Java::
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class WebSocketSecurityConfig implements WebSocketMessageBrokerConfigurer {
|
public class WebSocketSecurityConfig implements WebSocketMessageBrokerConfigurer {
|
||||||
|
|
||||||
|
private final ApplicationContext applicationContext;
|
||||||
|
|
||||||
|
private final AuthorizationManager<Message<?>> authorizationManager;
|
||||||
|
|
||||||
|
public WebSocketSecurityConfig(ApplicationContext applicationContext, AuthorizationManager<Message<?>> authorizationManager) {
|
||||||
|
this.applicationContext = applicationContext;
|
||||||
|
this.authorizationManager = authorizationManager;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
|
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
|
||||||
argumentResolvers.add(new AuthenticationPrincipalArgumentResolver());
|
argumentResolvers.add(new AuthenticationPrincipalArgumentResolver());
|
||||||
@ -372,9 +381,8 @@ public class WebSocketSecurityConfig implements WebSocketMessageBrokerConfigurer
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configureClientInboundChannel(ChannelRegistration registration) {
|
public void configureClientInboundChannel(ChannelRegistration registration) {
|
||||||
AuthorizationManager<Message<?>> myAuthorizationRules = AuthenticatedAuthorizationManager.authenticated();
|
AuthorizationChannelInterceptor authz = new AuthorizationChannelInterceptor(authorizationManager);
|
||||||
AuthorizationChannelInterceptor authz = new AuthorizationChannelInterceptor(myAuthorizationRules);
|
AuthorizationEventPublisher publisher = new SpringAuthorizationEventPublisher(applicationContext);
|
||||||
AuthorizationEventPublisher publisher = new SpringAuthorizationEventPublisher(this.context);
|
|
||||||
authz.setAuthorizationEventPublisher(publisher);
|
authz.setAuthorizationEventPublisher(publisher);
|
||||||
registration.interceptors(new SecurityContextChannelInterceptor(), authz);
|
registration.interceptors(new SecurityContextChannelInterceptor(), authz);
|
||||||
}
|
}
|
||||||
@ -386,7 +394,7 @@ Kotlin::
|
|||||||
[source,kotlin,role="secondary"]
|
[source,kotlin,role="secondary"]
|
||||||
----
|
----
|
||||||
@Configuration
|
@Configuration
|
||||||
open class WebSocketSecurityConfig : WebSocketMessageBrokerConfigurer {
|
open class WebSocketSecurityConfig(val applicationContext: ApplicationContext, val authorizationManager: AuthorizationManager<Message<*>>) : WebSocketMessageBrokerConfigurer {
|
||||||
@Override
|
@Override
|
||||||
override fun addArgumentResolvers(argumentResolvers: List<HandlerMethodArgumentResolver>) {
|
override fun addArgumentResolvers(argumentResolvers: List<HandlerMethodArgumentResolver>) {
|
||||||
argumentResolvers.add(AuthenticationPrincipalArgumentResolver())
|
argumentResolvers.add(AuthenticationPrincipalArgumentResolver())
|
||||||
@ -394,9 +402,8 @@ open class WebSocketSecurityConfig : WebSocketMessageBrokerConfigurer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
override fun configureClientInboundChannel(registration: ChannelRegistration) {
|
override fun configureClientInboundChannel(registration: ChannelRegistration) {
|
||||||
var myAuthorizationRules: AuthorizationManager<Message<*>> = AuthenticatedAuthorizationManager.authenticated()
|
var authz: AuthorizationChannelInterceptor = AuthorizationChannelInterceptor(authorizationManager)
|
||||||
var authz: AuthorizationChannelInterceptor = AuthorizationChannelInterceptor(myAuthorizationRules)
|
var publisher: AuthorizationEventPublisher = SpringAuthorizationEventPublisher(applicationContext)
|
||||||
var publisher: AuthorizationEventPublisher = SpringAuthorizationEventPublisher(this.context)
|
|
||||||
authz.setAuthorizationEventPublisher(publisher)
|
authz.setAuthorizationEventPublisher(publisher)
|
||||||
registration.interceptors(SecurityContextChannelInterceptor(), authz)
|
registration.interceptors(SecurityContextChannelInterceptor(), authz)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user