加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 具有stomp安全性的Spring websocket – 每个用户都可

发布时间:2020-12-15 01:31:34 所属栏目:大数据 来源:网络整理
导读:我创建了一个使用弹簧4的腹板机构的简单应用程序. 我在我的应用程序中使用activemq代理. 在我的简单测试中,我为名为“Alejando”的用户创建了10条消息(user / alejandro / queue / greetings) 当我使用“Alejando”登录并订阅该队列时: stompClient.subscri

我创建了一个使用弹簧4的腹板机构的简单应用程序.
我在我的应用程序中使用activemq代理.

在我的简单测试中,我为名为“Alejando”的用户创建了10条消息(user / alejandro / queue / greetings)

当我使用“Alejando”登录并订阅该队列时:

  stompClient.subscribe('/user/alejandro/queue/greetings',function(greeting){
                  showGreeting(JSON.parse(greeting.body).content);
  }); 

我确实收到了为alejandro征服的所有10条消息.

问题是,当我使用名为“evilBart”的其他用户登录并订阅alejandro队列时,我也会收到消息?

我该如何执行安全措施?我希望用户只能订阅自己的队列.

谢谢!

我的配置类:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
    config.enableStompBrokerRelay("/queue/","/topic","/user/");     
    config.setApplicationDestinationPrefixes("/app");
}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/hello").withSockJS();
}

}
最佳答案
检查此similar question:您必须使用Spring Security通过HTTP对用户进行身份验证,然后使用SimpMessageTemplate.convertAndSendToUser()方法向用户发送消息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读