diff --git a/src/main/java/com/youlai/system/config/WebSocketConfig.java b/src/main/java/com/youlai/system/config/WebSocketConfig.java index 69245d7c..a128f13f 100644 --- a/src/main/java/com/youlai/system/config/WebSocketConfig.java +++ b/src/main/java/com/youlai/system/config/WebSocketConfig.java @@ -3,6 +3,7 @@ package com.youlai.system.config; import cn.hutool.core.util.StrUtil; import cn.hutool.jwt.JWTPayload; import cn.hutool.jwt.JWTUtil; +import com.youlai.system.common.constant.SecurityConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; @@ -80,11 +81,8 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { if (StrUtil.isNotBlank(bearerToken) && bearerToken.startsWith("Bearer ")) { try { // 移除 "Bearer " 前缀,从令牌中提取用户信息(username), 并设置到认证信息中 - - // 这里不应该用"name" - // String username = JwtUtils.parseToken(bearerToken).get("name").toString(); + bearerToken = bearerToken.substring(SecurityConstants.JWT_TOKEN_PREFIX.length()); String username = JWTUtil.parseToken(bearerToken).getPayloads().getStr(JWTPayload.SUBJECT); - if (StrUtil.isNotBlank(username)) { accessor.setUser(() -> username); return message;