【发布时间】:2014-07-09 19:35:08
【问题描述】:
我创建了一个使用 spring 4 的 websockets 机制的简单应用程序。 我在我的应用中使用了一个 activemq 代理。
在我的简单测试中,我为名为“Alejando”的用户 (user/alejandro/queue/greetings) 创建了 10 条消息
当我使用“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();
}
}
【问题讨论】:
标签: java spring spring-security websocket stomp