【发布时间】:2017-06-22 05:28:50
【问题描述】:
登录后websockets无法通过session.getPrincipal()找到当前用户(返回null)。
这里是 WebSockets 的 Java 代码:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/queue", "/topic");
config.setApplicationDestinationPrefixes("/socket");
config.setUserDestinationPrefix("/user");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/app").withSockJS();
}
}
这似乎是一个 Spring Boot 错误 - 我正在使用 1.3.8 RELEASE。刷新页面后,正确获取登录用户。
这里是前端(订阅)
ngstomp.subscribeTo('/user/queue/message')
.callback(function(response) {
console.log('Test');
})
.withBodyInJson()
.connect();
但它不起作用。
请帮帮我!
【问题讨论】:
标签: spring spring-boot spring-security spring-websocket