Spring WebSocket UserDestinationMessageHandler向未经身份验证的用户发送消息

时间:2015-04-01 17:30:44

标签: spring-websocket

我使用的是Spring 4.1.6.RELEASE。

  • 未经身份验证的客户订阅" /user/topic/qqq"。
  • 此转换为/topic/qqq-user{sessionId}
  • 服务器向该用户发送消息,如下所示:

像:

.convertAndSend("/topic/qqq-user{sessionId}", "Message");

WORKS 符合预期。

  • 但是,当服务器尝试发送消息时

像:

.convertAndSendToUser({sessionId}," / topic / qqq"," Message");

但是 NOT WORK ,结果是:

UserDestinationMessageHandler: - No user destinations found for /user/{sessionId}/topic/qqq

问题是:

  1. UserDestinationMessageHandler 的任务不是将目的地从/user/{sessionId}/topic/qqq转换为/topic/qqq-user{sessionId}吗?
  2. 如果是,则因为客户端未经过身份验证而无法正常工作?
  3. 谢谢。

1 个答案:

答案 0 :(得分:0)

你试过吗

.convertAndSendToUser({sessionId},"/qqq", "Message");

然后客户将订阅:

client.subscribe("/user/{sessionId}/qqq", callback)