From aec0e227479de49213185ff6bb98d4e99b35eb8b Mon Sep 17 00:00:00 2001 From: thiszhc <2029364173@qq.com> Date: 星期五, 16 六月 2023 20:34:23 +0800 Subject: [PATCH] Merge branch '5.X' of https://gitee.com/dromara/RuoYi-Vue-Plus into JustAuth --- ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 84c554d..479c390 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -345,7 +345,7 @@ private SysUserVo loadUserByEmail(String tenantId, String email) { SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() - .select(SysUser::getPhonenumber, SysUser::getStatus) + .select(SysUser::getEmail, SysUser::getStatus) .eq(TenantHelper.isEnable(), SysUser::getTenantId, tenantId) .eq(SysUser::getEmail, email)); if (ObjectUtil.isNull(user)) { @@ -414,25 +414,24 @@ String errorKey = GlobalConstants.PWD_ERR_CNT_KEY + username; String loginFail = Constants.LOGIN_FAIL; - // 鑾峰彇鐢ㄦ埛鐧诲綍閿欒娆℃暟(鍙嚜瀹氫箟闄愬埗绛栫暐 渚嬪: key + username + ip) - Integer errorNumber = RedisUtils.getCacheObject(errorKey); + // 鑾峰彇鐢ㄦ埛鐧诲綍閿欒娆℃暟锛岄粯璁や负0 (鍙嚜瀹氫箟闄愬埗绛栫暐 渚嬪: key + username + ip) + int errorNumber = ObjectUtil.defaultIfNull(RedisUtils.getCacheObject(errorKey), 0); // 閿佸畾鏃堕棿鍐呯櫥褰� 鍒欒涪鍑� - if (ObjectUtil.isNotNull(errorNumber) && errorNumber.equals(maxRetryCount)) { + if (errorNumber >= maxRetryCount) { recordLogininfor(tenantId, username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), maxRetryCount, lockTime)); throw new UserException(loginType.getRetryLimitExceed(), maxRetryCount, lockTime); } if (supplier.get()) { - // 鏄惁绗竴娆� - errorNumber = ObjectUtil.isNull(errorNumber) ? 1 : errorNumber + 1; + // 閿欒娆℃暟閫掑 + errorNumber++; + RedisUtils.setCacheObject(errorKey, errorNumber, Duration.ofMinutes(lockTime)); // 杈惧埌瑙勫畾閿欒娆℃暟 鍒欓攣瀹氱櫥褰� - if (errorNumber.equals(maxRetryCount)) { - RedisUtils.setCacheObject(errorKey, errorNumber, Duration.ofMinutes(lockTime)); + if (errorNumber >= maxRetryCount) { recordLogininfor(tenantId, username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), maxRetryCount, lockTime)); throw new UserException(loginType.getRetryLimitExceed(), maxRetryCount, lockTime); } else { - // 鏈揪鍒拌瀹氶敊璇鏁� 鍒欓�掑 - RedisUtils.setCacheObject(errorKey, errorNumber); + // 鏈揪鍒拌瀹氶敊璇鏁� recordLogininfor(tenantId, username, loginFail, MessageUtils.message(loginType.getRetryLimitCount(), errorNumber)); throw new UserException(loginType.getRetryLimitCount(), errorNumber); } -- Gitblit v1.9.3