Browse Source

1.用户Token处理

zsf 2 months ago
parent
commit
7421d0a605

+ 2 - 1
src/main/java/com/zzys/lightting/filter/JWTInterceptor.java

@@ -5,6 +5,7 @@ import com.auth0.jwt.exceptions.AlgorithmMismatchException;
 import com.auth0.jwt.exceptions.SignatureVerificationException;
 import com.auth0.jwt.exceptions.TokenExpiredException;
 import com.zzys.lightting.utils.JWTUtil;
+import com.zzys.lightting.utils.WebContextUtil;
 import io.swagger.models.HttpMethod;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
@@ -61,7 +62,7 @@ public class JWTInterceptor implements HandlerInterceptor {
                 String userToken = JWTUtil.verifyToken(token);
                 log.info("token= "+userToken);
                 //将token放入本地缓存
-                //WebContextUtil.setUserToken(userToken);
+                WebContextUtil.setUserToken(userToken);
                 return true;
             }
         } catch (SignatureVerificationException e) {

+ 24 - 0
src/main/java/com/zzys/lightting/user/dao/model/UserToken.java

@@ -0,0 +1,24 @@
+package com.zzys.lightting.user.dao.model;
+
+/**
+ * @Description:用户Token
+ * @Author: mimang
+ * @Date: 2025/1/20
+ */
+public class UserToken {
+
+    //用户id
+    private String id;
+
+    //用户编号
+    private String userNo;
+
+    //用户名称
+    private String userName;
+
+    //用户组织编号
+    private String orgNo;
+
+    //用户组织名称
+    private String orgName;
+}

+ 45 - 0
src/main/java/com/zzys/lightting/utils/WebContextUtil.java

@@ -0,0 +1,45 @@
+package com.zzys.lightting.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.zzys.lightting.user.dao.model.UserToken;
+
+/**
+ * @Description:线程缓存工具类
+ * @Author: mimang
+ * @Date: 2024/9/6
+ */
+public class WebContextUtil {
+    //本地线程缓存token
+    private static ThreadLocal<String> local = new ThreadLocal<>();
+
+    /**
+     * 设置token信息
+     * @param content
+     */
+    public static void setUserToken(String content){
+        removeUserToken();
+        local.set(content);
+    }
+
+    /**
+     * 获取token信息
+     * @return
+     */
+    public static UserToken getUserToken(){
+        if(local.get() != null){
+            UserToken userToken = JSONObject.parseObject(local.get() , UserToken.class);
+            return userToken;
+        }
+        return null;
+    }
+
+    /**
+     * 移除token信息
+     * @return
+     */
+    public static void removeUserToken(){
+        if(local.get() != null){
+            local.remove();
+        }
+    }
+}