Я использую spring-boot-starter-websocket и имею прослушиватель событий на SessionConnectedEvent.
@EventListener
public void handleWebSocketConnectListener(SessionConnectedEvent event) {
log.debug("SessionConnectedEvent: {}", event);
...
}
Там я проверяю заголовок и хочу закрыть / аннулировать сеанс, если заголовок не содержит правильных данных. Как я могу это сделать? Могу ли я получить объект сеанса или использовать какой-нибудь HandshakeHandler?




Если сценарий аналогичен аутентификации на основе токенов для WebSocket, предлагается аутентифицировать пользователя с помощью OncePerRequestFilter. Пожалуйста, обратитесь к medium.com/swlh/… в качестве примера.