1
我有一個Java套接字API應用程序,它處理來自用戶的套接字請求併發送響應。 我有一個配置者:如何防止訂閱spring socket/queue/private/*目標。
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
private static final Logger LOGGER = Logger.getLogger(WebSocketConfig.class);
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/queue");
config.setApplicationDestinationPrefixes("/server_in");
config.setUserDestinationPrefix("/user");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/websocket").withSockJS();
}
}
當我發送響應用戶i執行以下操作: this.simpMessagingTemplate.convertAndSend("/queue/private/user_"+secret_key, socketResponse);
在客戶端,我有以下代碼:
sc.subscribe('/queue/private/user_'+secret_key, function (greeting) {
console.log(greeting.body);
});
和響應的處理成功。 但問題是,其他用戶也可以訂閱「/隊列/私人/ *」的目的地和處理私人消息。
sc.subscribe('/queue/private/*', function (greeting) {
console.log(greeting.body);
});
我該如何評估這種行爲?