Я хочу использовать websocket в весеннем приложении для контактных запросов. У меня уже есть настроенная страница входа для пользователей, и я использую для этого Spring Security. Моя проблема заключается в следующем: как безопасно отправлять сообщения веб-сокетов двум разным пользователям.
Я знаю, что могу транслировать сообщения каждому пользователю, подписанному на какую-либо тему с помощью @SendTo()
, и могу транслировать сообщение одному пользователю только с чем-то вроде
messagingTemplate
.convertAndSendToUser(principal.getName(), "/queue/requests", request);
потому что его имя пользователя хранится в принципале.
Моя проблема заключается в том, как справиться, когда нам нужно настроить таргетинг на 2 пользователей из запроса и сделать его безопасным, чтобы вы не могли просто прослушивать любые каналы со стороны клиента без авторизации.
В идеале я ищу что-то вроде
messagingTemplate
.convertAndSendToUser(request.getFromUser(), "/queue/requests", request)
messagingTemplate
.convertAndSendToUser(request.getToUser(), "/queue/requests", request)