В моем приложении Spring Boot я пытаюсь реализовать функцию уведомлений на основе WebSockets.
Я предоставил следующую конфигурацию:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/notifications").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic", "/queue");
}
}
и пытаюсь использовать SimpMessagingTemplate
для отправки сообщения со стороны сервера конкретному клиенту (пользователю).
@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
public void sendMessages() {
simpMessagingTemplate.convertAndSendToUser(%user%, "/horray", "Hello, World!");
}
Сейчас я не понимаю нескольких вещей:
Какое значение следует использовать для параметра
%user%
методаsimpMessagingTemplate.convertAndSendToUser
?Какова корреляция между моей конечной точкой
/notifications
, зарегистрированной в методеWebSocketConfig.registerStompEndpoints
, и параметромdestination
методаsimpMessagingTemplate.convertAndSendToUser
и как правильно его использовать?Как защитить пользователей от чтения чужих сообщений на клиенте?