Spring Stomp: Завершить сеанс клиента, когда он пытается подписаться на тему - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу разорвать соединение клиента, используя перехватчик, когда пользователь не присутствует ни в одной команде, которая не равна соединению, вот мой код:

@Component

открытый класс WebSocketInterceptor extends ChannelInterceptorAdapter {

@Override
public Message<?> preSend(Message<?> message, MessageChannel channel) throws AuthenticationException {
    StompHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);


    if (StompCommand.CONNECT == accessor.getCommand()) {
        //user = authenticate and get user
        accessor.setUser(user);
    } else if (accessor.getUser() == null) {
       //disconnect from web socket completely

    }

    return message;
}

}

Я уже пытался вызвать исключение, но он все еще позволяет клиенту отправлять сообщения

...