From 42128cb41c46b240f18f4aa132c142db0138b3ed Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 17 十月 2022 17:53:49 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/sys/TokenService.java      |   24 ++++++++++++++++++------
 src/main/java/com/lf/server/controller/all/SignController.java |   19 ++++++++-----------
 src/main/java/com/lf/server/interceptor/AuthInterceptor.java   |    3 ---
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/all/SignController.java b/src/main/java/com/lf/server/controller/all/SignController.java
index ec4b248..a6cea0b 100644
--- a/src/main/java/com/lf/server/controller/all/SignController.java
+++ b/src/main/java/com/lf/server/controller/all/SignController.java
@@ -125,27 +125,24 @@
 
             UserEntity ue = userService.selectByUid(user.getUid());
             if (ue == null) {
-                return fail("鐢ㄦ埛鍚嶄笉瀛樺湪锛�", null);
+                return fail("鐢ㄦ埛鍚嶄笉瀛樺湪", null);
+            }
+
+            if (!Md5Helper.validatePassword(user.getPwd(), ue.getPwd())) {
+                tokenService.setPwdErrCache(ue);
+                return fail("瀵嗙爜涓嶆纭�", null);
             }
 
             LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 1, req);
-            if (!Md5Helper.validatePassword(user.getPwd(), ue.getPwd())) {
-                tokenService.setPwdErrCache(ue);
-                le.setStatus(0);
-                le.setDescr("瀵嗙爜閿欒");
-                loginService.insertLogin(le);
-                return fail("瀵嗙爜涓嶆纭紒", null);
-            }
-
             Integer rows = loginService.insertLogin(le);
             if (rows == 0) {
-                return fail("鍒涘缓鐧诲綍鏃ュ織澶辫触锛�", null);
+                return fail("鍒涘缓鐧诲綍鏃ュ織澶辫触", null);
             }
 
             TokenEntity te = tokenService.getNewToken(ue.getId(), req);
             rows = tokenService.insertToken(te);
             if (rows == 0) {
-                return fail("鍒涘缓浠ょ墝淇℃伅澶辫触锛�", null);
+                return fail("鍒涘缓浠ょ墝澶辫触", null);
             }
 
             tokenService.saveToken(ue, te, req, res);
diff --git a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java
index 5c8c173..fe649c0 100644
--- a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java
+++ b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java
@@ -5,12 +5,10 @@
 import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.helper.WebHelper;
-import com.lf.server.service.all.RedisService;
 import com.lf.server.service.sys.TokenService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.cache.RedisCache;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.HandlerInterceptor;
 
@@ -65,7 +63,6 @@
             }
 
             if (tokenService.isUidDisable(ue)) {
-                tokenService.logout(token, request, response);
                 return WebHelper.write2Page(response, USER_LOCK);
             }
 
diff --git a/src/main/java/com/lf/server/service/sys/TokenService.java b/src/main/java/com/lf/server/service/sys/TokenService.java
index 244a80c..49965af 100644
--- a/src/main/java/com/lf/server/service/sys/TokenService.java
+++ b/src/main/java/com/lf/server/service/sys/TokenService.java
@@ -145,6 +145,12 @@
         // 娓呴櫎Cookie
         WebHelper.deleteCookies(req, res);
 
+        // 鑾峰彇褰撳墠鐢ㄦ埛
+        UserEntity ue = getCurrentUser(req);
+        if (ue == null) {
+            return false;
+        }
+
         // 娓呴櫎缂撳瓨
         String tokenKey = RedisCacheKey.signTokenKey(token);
         if (redisService.hasKey(tokenKey)) {
@@ -153,12 +159,6 @@
         String userKey = RedisCacheKey.signUserKey(te.getToken());
         if (redisService.hasKey(userKey)) {
             redisService.delete(userKey);
-        }
-
-        // 鑾峰彇褰撳墠鐢ㄦ埛
-        UserEntity ue = getCurrentUser(req);
-        if (ue == null) {
-            return false;
         }
 
         // db锛岃缃护鐗岃繃鏈�
@@ -254,6 +254,18 @@
 
         int count = objCount == null ? 1 : (int) objCount + 1;
         redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES);
+
+        // 璁板綍鏃ュ織
+        HttpServletRequest req = WebHelper.getRequest();
+        LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 0, req);
+        le.setDescr("瀵嗙爜涓嶆纭�");
+        loginService.insertLogin(le);
+
+        if (count >= SettingData.PWD_ERR_COUNT) {
+            String token = WebHelper.getToken(req);
+            HttpServletResponse res = WebHelper.getResponse();
+            logout(token, req, res);
+        }
     }
 
     /**

--
Gitblit v1.9.3