From fee67ca8a0760315047a52fc4101a8f4f80b7a7f Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 11 十一月 2024 15:02:54 +0800
Subject: [PATCH] 1

---
 src/main/java/com/moon/server/interceptor/AuthInterceptor.java |   39 ++++-----------------------------------
 1 files changed, 4 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/moon/server/interceptor/AuthInterceptor.java b/src/main/java/com/moon/server/interceptor/AuthInterceptor.java
index f959f0f..482bf63 100644
--- a/src/main/java/com/moon/server/interceptor/AuthInterceptor.java
+++ b/src/main/java/com/moon/server/interceptor/AuthInterceptor.java
@@ -19,10 +19,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
-/**
- * 韬唤璁よ瘉鎷︽埅鍣�
- * @author WWW
- */
+@SuppressWarnings("ALL")
 @Configuration
 public class AuthInterceptor implements HandlerInterceptor {
     private final SysService sysService;
@@ -39,7 +36,7 @@
 
     public static final String IP_NULL = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "IP鍦板潃涓虹┖"));
 
-    public static final String BLACK_LIST = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "璇P鍏ラ粦鍚嶅崟"));
+    public static final String BLACK_LIST = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "IP鍒楀叆榛戝悕鍗�"));
 
     public static final String ILLEGAL_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "浠ょ墝鏉ユ簮闈炴硶"));
 
@@ -47,60 +44,47 @@
         this.sysService = sysService;
     }
 
-    /**
-     * Controller鎵ц涔嬪墠鎵ц锛屽鏋滆繑鍥炲�兼槸true鍒欎唬琛ㄦ斁琛岋紝杩斿洖false鍒欐嫤鎴�
-     */
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
         // noinspection AlibabaRemoveCommentedCode
         try {
-            // 1.闈炴柟娉� 鎴� 鏃犻渶鎺堟潈锛屾棤闇�鎷︽埅
             if (!(handler instanceof HandlerMethod) || noNeedAuth(request)) {
                 return true;
             }
 
-            // 2.鑾峰彇浠ょ墝
             String token = WebHelper.getToken(request);
             if (StringHelper.isNull(token)) {
                 return WebHelper.writeStr2Page(response, NO_TOKEN);
             }
 
-            // 3.鑾峰彇鐢ㄦ埛
-            UserEntity ue = sysService.tokenService.getCurrentUser(request);
+            UserEntity ue = sysService.tokenService.getUserByToken(token);
             if (ue == null) {
                 return WebHelper.writeStr2Page(response, NO_LOGIN);
             }
 
-            // 4.鑾峰彇IP
             String ip = WebHelper.getIpAddress(request);
             if (StringHelper.isEmpty(ip)) {
                 return WebHelper.writeStr2Page(response, IP_NULL);
             }
 
-            // 5.妫�鏌ラ粦鍚嶅崟
             if (!checkBlackList(ip, request)) {
                 return WebHelper.writeStr2Page(response, BLACK_LIST);
             }
 
-            // 6.admin璺宠繃鏉冮檺妫�娴�
             if (StaticData.ADMIN.equals(ue.getUid())) {
                 return true;
             }
 
-            // 7.妫�鏌ョ櫧鍚嶅崟
             if (!checkWhiteList(ip, request)) {
-                // 妫�鏌P涓�鑷存��
                 if (!checkIpSource(ip, token)) {
                     return WebHelper.writeStr2Page(response, ILLEGAL_TOKEN);
                 }
             }
 
-            // 8.妫�鏌ョ敤鎴稩D鏄惁绂佺敤
             if (sysService.tokenService.isUidDisable(ue)) {
                 return WebHelper.writeStr2Page(response, USER_LOCK);
             }
 
-            // 9.鏉冮檺鏍¢獙
             if (!checkPerms(ue, request)) {
                 System.out.println("鏃犳潈闄愯闂細" + request.getRequestURI().toLowerCase());
                 return WebHelper.writeStr2Page(response, NO_AUTH);
@@ -113,9 +97,6 @@
         }
     }
 
-    /**
-     * 鏃犻渶鎺堟潈
-     */
     private static boolean noNeedAuth(HttpServletRequest request) {
         String uri = request.getRequestURI().toLowerCase();
         for (String page : StaticData.EXCLUDE_PATH) {
@@ -127,9 +108,6 @@
         return false;
     }
 
-    /**
-     * 妫�鏌ユ潈闄�
-     */
     private boolean checkPerms(UserEntity ue, HttpServletRequest request) {
         List<String> list = sysService.permsService.selectPerms(ue.getUid());
         if (list == null || list.size() == 0) {
@@ -146,9 +124,6 @@
         return false;
     }
 
-    /**
-     * 妫�鏌ラ粦鍚嶅崟
-     */
     private boolean checkBlackList(String ip, HttpServletRequest request) {
         List<String> blackList = sysService.blacklistService.selectIpList(1);
         if (blackList == null || blackList.isEmpty()) {
@@ -161,9 +136,6 @@
         return true;
     }
 
-    /**
-     * 妫�鏌ョ櫧鍚嶅崟
-     */
     private boolean checkWhiteList(String ip, HttpServletRequest request) {
         List<String> whiteList = sysService.blacklistService.selectIpList(2);
         if (whiteList == null || whiteList.isEmpty()) {
@@ -173,12 +145,9 @@
         return whiteList.contains(ip);
     }
 
-    /**
-     * 妫�鏌P涓�鑷存��
-     */
     private boolean checkIpSource(String ip, String token) {
         TokenEntity te = sysService.tokenService.getEntityByToken(token);
 
-        return te.getIp().equals(ip);
+        return StaticData.I1 == te.getType() || te.getIp().equals(ip);
     }
 }

--
Gitblit v1.9.3