From f65cd6245de4757ecea7b6c127fa54f0786b514f Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 30 十二月 2021 14:14:40 +0800
Subject: [PATCH] 防重复提交标识组合(key + url + header)

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
index 66885af..5b4c414 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -22,7 +22,7 @@
 
 /**
  * token楠岃瘉澶勭悊
- * 
+ *
  * @author ruoyi
  */
 @Component
@@ -51,7 +51,7 @@
 
     /**
      * 鑾峰彇鐢ㄦ埛韬唤淇℃伅
-     * 
+     *
      * @return 鐢ㄦ埛淇℃伅
      */
     public LoginUser getLoginUser(HttpServletRequest request)
@@ -60,12 +60,18 @@
         String token = getToken(request);
         if (StringUtils.isNotEmpty(token))
         {
-            Claims claims = parseToken(token);
-            // 瑙f瀽瀵瑰簲鐨勬潈闄愪互鍙婄敤鎴蜂俊鎭�
-            String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
-            String userKey = getTokenKey(uuid);
-            LoginUser user = redisCache.getCacheObject(userKey);
-            return user;
+            try
+            {
+                Claims claims = parseToken(token);
+                // 瑙f瀽瀵瑰簲鐨勬潈闄愪互鍙婄敤鎴蜂俊鎭�
+                String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
+                String userKey = getTokenKey(uuid);
+                LoginUser user = redisCache.getCacheObject(userKey);
+                return user;
+            }
+            catch (Exception e)
+            {
+            }
         }
         return null;
     }
@@ -95,7 +101,7 @@
 
     /**
      * 鍒涘缓浠ょ墝
-     * 
+     *
      * @param loginUser 鐢ㄦ埛淇℃伅
      * @return 浠ょ墝
      */
@@ -113,8 +119,8 @@
 
     /**
      * 楠岃瘉浠ょ墝鏈夋晥鏈燂紝鐩稿樊涓嶈冻20鍒嗛挓锛岃嚜鍔ㄥ埛鏂扮紦瀛�
-     * 
-     * @param token 浠ょ墝
+     *
+     * @param loginUser
      * @return 浠ょ墝
      */
     public void verifyToken(LoginUser loginUser)
@@ -129,7 +135,7 @@
 
     /**
      * 鍒锋柊浠ょ墝鏈夋晥鏈�
-     * 
+     *
      * @param loginUser 鐧诲綍淇℃伅
      */
     public void refreshToken(LoginUser loginUser)
@@ -140,10 +146,10 @@
         String userKey = getTokenKey(loginUser.getToken());
         redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
     }
-    
+
     /**
      * 璁剧疆鐢ㄦ埛浠g悊淇℃伅
-     * 
+     *
      * @param loginUser 鐧诲綍淇℃伅
      */
     public void setUserAgent(LoginUser loginUser)
@@ -155,7 +161,7 @@
         loginUser.setBrowser(userAgent.getBrowser().getName());
         loginUser.setOs(userAgent.getOperatingSystem().getName());
     }
-    
+
     /**
      * 浠庢暟鎹0鏄庣敓鎴愪护鐗�
      *

--
Gitblit v1.9.3