package com.qianwen.core.websocket.custom;
|
|
import java.util.Map;
|
import com.qianwen.core.secure.BladeUser;
|
import com.qianwen.core.secure.utils.AuthUtil;
|
import com.qianwen.core.tool.utils.Func;
|
import org.springframework.http.server.ServerHttpRequest;
|
import org.springframework.http.server.ServerHttpResponse;
|
import org.springframework.web.socket.WebSocketHandler;
|
import org.springframework.web.socket.server.HandshakeInterceptor;
|
|
public class UserAttributeHandshakeInterceptor implements HandshakeInterceptor {
|
public boolean beforeHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Map<String, Object> attributes) throws Exception {
|
BladeUser user = AuthUtil.getUser();
|
if (Func.isEmpty(user)) {
|
return false;
|
}
|
attributes.put("USER_KEY_ATTR_NAME", user);
|
return true;
|
}
|
|
public void afterHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Exception e) {
|
}
|
}
|