提交 f5f3f66b 编写于 作者: R Rossen Stoyanchev

Add user-name header to CONNECTED frame

上级 bd68fefc
...@@ -43,6 +43,13 @@ import reactor.util.Assert; ...@@ -43,6 +43,13 @@ import reactor.util.Assert;
*/ */
public class StompWebSocketHandler extends TextWebSocketHandlerAdapter implements MessageHandler { public class StompWebSocketHandler extends TextWebSocketHandlerAdapter implements MessageHandler {
/**
* The name of the header set on the CONNECTED frame indicating the name of the user
* connected authenticated on the WebSocket session.
*/
public static final String CONNECTED_USER_HEADER = "user-name";
private static final byte[] EMPTY_PAYLOAD = new byte[0]; private static final byte[] EMPTY_PAYLOAD = new byte[0];
private static Log logger = LogFactory.getLog(StompWebSocketHandler.class); private static Log logger = LogFactory.getLog(StompWebSocketHandler.class);
...@@ -138,6 +145,10 @@ public class StompWebSocketHandler extends TextWebSocketHandlerAdapter implement ...@@ -138,6 +145,10 @@ public class StompWebSocketHandler extends TextWebSocketHandlerAdapter implement
} }
connectedHeaders.setHeartbeat(0,0); // TODO connectedHeaders.setHeartbeat(0,0); // TODO
if (session.getPrincipal() != null) {
connectedHeaders.setNativeHeader(CONNECTED_USER_HEADER, session.getPrincipal().getName());
}
// TODO: security // TODO: security
Message<?> connectedMessage = MessageBuilder.withPayload(EMPTY_PAYLOAD).copyHeaders( Message<?> connectedMessage = MessageBuilder.withPayload(EMPTY_PAYLOAD).copyHeaders(
......
...@@ -118,7 +118,7 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { ...@@ -118,7 +118,7 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor {
return null; return null;
} }
protected String getFirstNativeHeader(String headerName) { public String getFirstNativeHeader(String headerName) {
List<String> values = getNativeHeader(headerName); List<String> values = getNativeHeader(headerName);
return CollectionUtils.isEmpty(values) ? null : values.get(0); return CollectionUtils.isEmpty(values) ? null : values.get(0);
} }
...@@ -133,7 +133,7 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { ...@@ -133,7 +133,7 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor {
} }
} }
protected void setNativeHeader(String name, String value) { public void setNativeHeader(String name, String value) {
this.nativeHeaders.set(name, value); this.nativeHeaders.set(name, value);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册