是否有任何解决方案可以使用spring4 websocket向一组用户(不是所有用户)发送消息?

时间:2014-04-11 12:14:30

标签: java spring websocket spring-websocket

最近,我使用spring4 websocket将消息推送给最终用户。

我知道,有两种方法(convertAndSendconvertAndSendToUser)可以在 SimpMessageSendingOperations 类中发送消息。

但是有没有办法向一组用户发送消息,而组外的用户无法订阅该消息?

非常感谢。

1 个答案:

答案 0 :(得分:7)

从Spring Framework 4.0.x开始,可以通过以下方式向一组用户发送消息:

  • 使用for循环显式向每个用户发送消息
  • 将消息发送到特定主题,前提是这些用户预先订阅了此主题。

正如您所提到的,您不希望用户不属于那个" group"能够订阅此主题。实际上,这称为授权功能。

使用4.0.x,安全功能在HTTP级别实施,例如在HTTP升级阶段,在客户端切换到websocket之前(请参阅the websocket-portfolio application)。

您要求的功能在Spring Security 4.0.0中实现(即将发布,see this blog post for a full preview)。