Przeglądaj źródła

1.龙洞堡ip登录

wxg 3 lat temu
rodzic
commit
bbbb2f1f52

+ 14 - 0
src/main/java/com/yx/face/boot/uitls/RedisUtil.java

@@ -557,4 +557,18 @@ public class RedisUtil {
             return 0;
         }
     }
+    /**
+     * 删除key
+     * @param key    键
+     * @return ture or false
+     */
+    public Boolean del(String key) {
+        try {
+            Boolean delete = redisTemplate.delete(key);
+            return delete;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
 }

+ 8 - 6
src/main/java/com/yx/face/service/impl/AdminServiceImpl.java

@@ -76,23 +76,25 @@ public class AdminServiceImpl implements AdminService {
         /*
          * redis校验
          * */
-        Integer adminLogin = (Integer) redisUtil.get(ADMIN_LOGIN + adminInfo.getId());
+        String ipLogin = IPUtils.getIP() + ADMIN_LOGIN + adminInfo.getId();
+        Integer adminLogin = (Integer) redisUtil.get(ipLogin);
         if (adminLogin != null && adminLogin >= 5) {
-            redisUtil.incr(ADMIN_LOGIN + adminInfo.getId(), 1);
-            redisUtil.expire(ADMIN_LOGIN + adminInfo.getId(), 300);
+            redisUtil.incr(ipLogin, 1);
+            redisUtil.expire(ipLogin, 300);
             throw new ServiceException("连续输错" + adminLogin + "次,账号锁定,请过5分钟后重试!");
         }
 
         password = PasswordUtils.buildPw(password);
         if (!adminInfo.getPassword().equals(password)) {
             //每次输错便加1,并设置过期时间为5分钟
-            redisUtil.incr(ADMIN_LOGIN + adminInfo.getId(), 1);
+            redisUtil.incr(ipLogin, 1);
+            redisUtil.expire(ipLogin, 300);
             throw new ServiceException("账号或密码输入错误");
         } else {
             //登录成功
-            boolean b = redisUtil.hasKey(ADMIN_LOGIN + adminInfo.getId());
+            boolean b = redisUtil.hasKey(ipLogin);
             if (b) {
-                redisUtil.setRemove(ADMIN_LOGIN + adminInfo.getId());
+                redisUtil.del(ipLogin);
             }
         }
         AdminVO adminLoginVO = new AdminVO();