From 7bb8e0d58700a8fb758861ade40195a271e2e5ce Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 11 十二月 2023 10:18:48 +0800
Subject: [PATCH] 登录密码安全策略完善

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
index 39fb53f..8f04773 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
@@ -154,14 +154,24 @@
 					redisUtil.set(CommonConstant.PREFIX_LOGIN_COUNT + username, 1, 300);
 					result.error500("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒锛岃閲嶆柊灏濊瘯銆傚墿浣欏皾璇曟鏁帮細" + (maxAttempts - 1));
 				}
+			} else {
+				result.error500("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒");
 			}
-
-
 			//result.error500("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒");
 			return result;
 		} else {
 			if (redisUtil.hasKey(CommonConstant.PREFIX_LOGIN_COUNT + username)) {
-				redisUtil.del(CommonConstant.PREFIX_LOGIN_COUNT + username);
+				List<DictModel> dictModels = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_MAX_ATTEMPTS);
+				if (dictModels != null && !dictModels.isEmpty()) {
+					Integer maxAttempts = Integer.valueOf(dictModels.get(0).getValue());
+					Integer loginCount = (Integer) redisUtil.get(CommonConstant.PREFIX_LOGIN_COUNT + username);
+					if (loginCount < maxAttempts) {
+						redisUtil.del(CommonConstant.PREFIX_LOGIN_COUNT + username);
+					} else {
+						result.error500("鎮ㄧ殑璐︽埛宸查攣瀹氾紝璇风◢鍚庡皾璇曪紒");
+						return result;
+					}
+				}
 			}
 		}
 

--
Gitblit v1.9.3