Обработка исключений веб-сокета Spring Boot - PullRequest
0 голосов
/ 24 июня 2019

Я использую весеннюю загрузку websocket (stomp) и добавляю к ней безопасность.Я отправляю сообщение от клиента и получаю исключение AccessDeniedException, как я могу обработать это исключение (может быть, все исключения через websocket) и красивое сообщение клиента ответа.

Я делаю эту работу в mvc use @ControllerAdviceкак насчет websocket?

@Configuration
public class WebSocketSecurityConfig extends AbstractSecurityWebSocketMessageBrokerConfigurer {

    @Override
    protected void configureInbound(MessageSecurityMetadataSourceRegistry messages) {
        messages
                .simpDestMatchers("/app/**").authenticated()
                .simpSubscribeDestMatchers("/user/**").authenticated()
                .simpTypeMatchers(CONNECT, UNSUBSCRIBE, DISCONNECT).permitAll()
                .anyMessage().denyAll();
    }
}
Caused by: org.springframework.security.access.AccessDeniedException: Access Denied
    at org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:84) ~[spring-security-core-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:233) ~[spring-security-core-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.messaging.access.intercept.ChannelSecurityInterceptor.preSend(ChannelSecurityInterceptor.java:69) ~[spring-security-messaging-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.messaging.support.AbstractMessageChannel$ChannelInterceptorChain.applyPreSend(AbstractMessageChannel.java:178) ~[spring-messaging-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:132) ~[spring-messaging-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    ... 32 more
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...