From 431af122d22e9be757510ca75e268c164d16a450 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 17 十月 2022 16:51:12 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/sys/TokenService.java      |   16 +++-----
 src/main/java/com/lf/server/service/sys/UserService.java       |   29 +++++++++-----
 src/main/java/com/lf/server/controller/all/SignController.java |    3 -
 src/main/java/com/lf/server/controller/sys/UserController.java |    1 
 src/main/java/com/lf/server/interceptor/AuthInterceptor.java   |    4 +
 data/db_tab.sql                                                |    4 +
 src/main/java/com/lf/server/entity/sys/AttachEntity.java       |   10 +++++
 src/main/resources/mapper/sys/AttachMapper.xml                 |   12 +++---
 8 files changed, 46 insertions(+), 33 deletions(-)

diff --git a/data/db_tab.sql b/data/db_tab.sql
index fcaa293..c800103 100644
--- a/data/db_tab.sql
+++ b/data/db_tab.sql
@@ -609,6 +609,7 @@
   id serial primary key,
   name varchar(256),
   tab varchar(100),
+  tab_guid varchar(40),
   guid varchar(40) default new_guid(),
   path varchar(512),
   create_user integer default 1,
@@ -627,8 +628,9 @@
 comment on column lf.sys_attach.update_user is '鏇存柊浜篒D';
 comment on column lf.sys_attach.update_time is '鏇存柊鏃堕棿';
 --insert into lf.sys_attach (name,tab,path) values ('a.jpg','public.data_dir','c:\a.jpg');
+--alter table lf.sys_attach add tab_guid varchar(40);
 
-select length(guid) from lf.sys_attach limit 1; select * from lf.sys_attach;
+select * from lf.sys_attach; select length(guid) from lf.sys_attach limit 1; select * from lf.sys_attach;
 ----------------------------------------------------------------------------------------------------- 19.鐗堟湰琛�
 -- DROP TABLE IF EXISTS lf.sys_ver;
 create table lf.sys_ver(
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 68402fb..ec4b248 100644
--- a/src/main/java/com/lf/server/controller/all/SignController.java
+++ b/src/main/java/com/lf/server/controller/all/SignController.java
@@ -1,6 +1,5 @@
 package com.lf.server.controller.all;
 
-import com.lf.server.aspect.LogAspect;
 import com.lf.server.aspect.SysLog;
 import com.lf.server.config.PropertiesConfig;
 import com.lf.server.entity.all.ResponseMsg;
@@ -17,8 +16,6 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
diff --git a/src/main/java/com/lf/server/controller/sys/UserController.java b/src/main/java/com/lf/server/controller/sys/UserController.java
index 34895fb..415abd2 100644
--- a/src/main/java/com/lf/server/controller/sys/UserController.java
+++ b/src/main/java/com/lf/server/controller/sys/UserController.java
@@ -217,7 +217,6 @@
                 if (str != null) {
                     return fail(str, -1);
                 }
-
                 if (ue != null) {
                     entity.setCreateUser(ue.getId());
                 }
diff --git a/src/main/java/com/lf/server/entity/sys/AttachEntity.java b/src/main/java/com/lf/server/entity/sys/AttachEntity.java
index 9812f4b..8db3a70 100644
--- a/src/main/java/com/lf/server/entity/sys/AttachEntity.java
+++ b/src/main/java/com/lf/server/entity/sys/AttachEntity.java
@@ -16,6 +16,8 @@
 
     private String tab;
 
+    private String tabGuid;
+
     private String guid;
 
     private String path;
@@ -55,6 +57,14 @@
         this.tab = tab;
     }
 
+    public String getTabGuid() {
+        return tabGuid;
+    }
+
+    public void setTabGuid(String tabGuid) {
+        this.tabGuid = tabGuid;
+    }
+
     public String getGuid() {
         return guid;
     }
diff --git a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java
index dac54cc..5c8c173 100644
--- a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java
+++ b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java
@@ -31,6 +31,8 @@
 
     private static final String NO_LOGIN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_LOGIN_ERROR, "鐢ㄦ埛鏈櫥褰�"));
 
+    private static final String USER_LOCK = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.USER_LOCK_ERROR, "鐢ㄦ埛ID宸茬鐢�"));
+
     public AuthInterceptor(TokenService tokenService) {
         this.tokenService = tokenService;
     }
@@ -64,7 +66,7 @@
 
             if (tokenService.isUidDisable(ue)) {
                 tokenService.logout(token, request, response);
-                return WebHelper.write2Page(response, JSON.toJSONString(new ResponseMsg<String>(HttpStatus.USER_LOCK_ERROR, SettingData.PWD_ERR_TIME + "鍒嗛挓鍐呯姝㈢櫥褰�")));
+                return WebHelper.write2Page(response, USER_LOCK);
             }
 
             // noinspection AlibabaRemoveCommentedCode
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 89cbc2a..244a80c 100644
--- a/src/main/java/com/lf/server/service/sys/TokenService.java
+++ b/src/main/java/com/lf/server/service/sys/TokenService.java
@@ -145,12 +145,6 @@
         // 娓呴櫎Cookie
         WebHelper.deleteCookies(req, res);
 
-        // 鑾峰彇褰撳墠鐢ㄦ埛
-        UserEntity ue = getCurrentUser(req);
-        if (ue == null) {
-            return false;
-        }
-
         // 娓呴櫎缂撳瓨
         String tokenKey = RedisCacheKey.signTokenKey(token);
         if (redisService.hasKey(tokenKey)) {
@@ -159,6 +153,12 @@
         String userKey = RedisCacheKey.signUserKey(te.getToken());
         if (redisService.hasKey(userKey)) {
             redisService.delete(userKey);
+        }
+
+        // 鑾峰彇褰撳墠鐢ㄦ埛
+        UserEntity ue = getCurrentUser(req);
+        if (ue == null) {
+            return false;
         }
 
         // db锛岃缃护鐗岃繃鏈�
@@ -264,9 +264,5 @@
         Object objCount = redisService.get(key);
 
         return objCount != null && (int) objCount >= SettingData.PWD_ERR_COUNT;
-    }
-
-    public void logoffToken(String token) {
-        //
     }
 }
diff --git a/src/main/java/com/lf/server/service/sys/UserService.java b/src/main/java/com/lf/server/service/sys/UserService.java
index f312134..8e539b6 100644
--- a/src/main/java/com/lf/server/service/sys/UserService.java
+++ b/src/main/java/com/lf/server/service/sys/UserService.java
@@ -1,7 +1,5 @@
 package com.lf.server.service.sys;
 
-import com.lf.server.entity.all.RedisCacheKey;
-import com.lf.server.entity.all.SettingData;
 import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.helper.Md5Helper;
 import com.lf.server.helper.RsaHelper;
@@ -9,11 +7,9 @@
 import com.lf.server.mapper.sys.UserMapper;
 import com.lf.server.service.all.RedisService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.cache.RedisCache;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.concurrent.TimeUnit;
 
 /**
  * 鐢ㄦ埛琛�
@@ -28,6 +24,12 @@
 
     @Autowired
     RedisService redisService;
+
+    @Autowired
+    LoginService loginService;
+
+    @Autowired
+    TokenService tokenService;
 
     @Override
     public Integer selectCount(String uname) {
@@ -141,9 +143,13 @@
             entity.setUid(uid);
             entity.setPwd(pwd);
 
+            if (tokenService.isUidDisable(entity)) {
+                return "鐢ㄦ埛ID宸茬鐢�";
+            }
+
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -170,7 +176,7 @@
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -196,8 +202,8 @@
                 return "娌℃湁鎵惧埌鐢ㄦ埛";
             }
             if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
-                //
-                return "鏃у瘑鐮佽緭鍏ラ敊璇�";
+                tokenService.setPwdErrCache(ue);
+                return "鏃у瘑鐮佷笉姝g‘";
             }
             if (!StringHelper.checkPwdValid(salt)) {
                 return "瀵嗙爜涓嶇鍚堣姹�";
@@ -210,7 +216,7 @@
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -228,12 +234,13 @@
         try {
             String pwd = RsaHelper.decrypt(adminPwd);
             if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
+                tokenService.setPwdErrCache(ue);
                 return "绠$悊鍛樺瘑鐮佷笉姝g‘";
             }
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -256,7 +263,7 @@
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            return "瑙e瘑澶辫触";
         }
     }
 }
diff --git a/src/main/resources/mapper/sys/AttachMapper.xml b/src/main/resources/mapper/sys/AttachMapper.xml
index e1dc965..2de46cf 100644
--- a/src/main/resources/mapper/sys/AttachMapper.xml
+++ b/src/main/resources/mapper/sys/AttachMapper.xml
@@ -35,17 +35,17 @@
 
     <insert id="insert" parameterType="com.lf.server.entity.sys.AttachEntity">
        insert into lf.sys_attach
-       (name,tab,guid,path,create_user,create_time)
+       (name,tab,tab_guid,guid,path,create_user,create_time)
        values
-       (#{name},#{tab},#{guid},#{path},#{createUser},now())
+       (#{name},#{tab},#{tabGuid},#{guid},#{path},#{createUser},now())
     </insert>
 
     <insert id="inserts">
         insert into lf.sys_attach
-        (name,tab,guid,path,create_user,create_time)
+        (name,tab,tab_guid,guid,path,create_user,create_time)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.name},#{item.tab},#{item.guid},#{item.path},#{item.createUser},now())
+            (#{item.name},#{item.tab},#{item.tabGuid},#{item.guid},#{item.path},#{item.createUser},now())
         </foreach>
     </insert>
 
@@ -62,7 +62,7 @@
 
     <update id="update">
     update lf.sys_attach
-    set name=#{name},tab=#{tab},guid=#{guid},path=#{path},update_user=#{updateUser},update_time=now()
+    set name=#{name},tab=#{tab},tab_guid=#{tabGuid},guid=#{guid},path=#{path},update_user=#{updateUser},update_time=now()
     where id=#{id}
     </update>
 
@@ -70,7 +70,7 @@
         <foreach collection="list" item="item" index="index" separator=";">
             update lf.sys_attach
             <set>
-                name=#{item.name},tab=#{item.tab},guid=#{item.guid},path=#{item.path},update_user=#{item.updateUser},update_time=now()
+                name=#{item.name},tab=#{item.tab},tab_guid=#{item.tabGuid},guid=#{item.guid},path=#{item.path},update_user=#{item.updateUser},update_time=now()
             </set>
             where id = #{item.id}
         </foreach>

--
Gitblit v1.9.3