【发布时间】:2015-10-25 20:59:59
【问题描述】:
我想在 spring 应用程序中使用 websocket 来处理联系请求。我已经为用户设置了登录页面,为此我使用了 Spring Security。我的问题如下:如何安全地将 Web 套接字消息发送给两个不同的用户。
我知道我可以使用@SendTo() 向订阅某个主题的每个用户广播消息,并且只能向一个用户广播消息,例如
messagingTemplate
.convertAndSendToUser(principal.getName(), "/queue/requests", request);
因为他的用户名存储在主体中。
我的问题是如何处理当我们必须从请求中定位 2 个用户并使其安全时,您不能在未经授权的情况下从客户端收听任何频道。
理想情况下,我正在寻找类似的东西
messagingTemplate
.convertAndSendToUser(request.getFromUser(), "/queue/requests", request)
messagingTemplate
.convertAndSendToUser(request.getToUser(), "/queue/requests", request)
【问题讨论】:
-
这个我觉得你需要Spring Security 4,而Spring Boot使用的是Spring Security 3..."Spring Security 4.0已经引入了对WebSockets的授权支持"
标签: java spring spring-security websocket spring-websocket