czh-20260608-删除登录验证码功能

This commit is contained in:
zhihao
2026-06-08 15:37:08 +08:00
parent fe005521e6
commit 1c77a07c59
@@ -80,17 +80,15 @@ public class LoginController {
return result.error500("该用户登录失败次数过多,请于10分钟后再次登录!"); return result.error500("该用户登录失败次数过多,请于10分钟后再次登录!");
} }
// step.1 验证码check // step.1 验证码check(前端已隐藏验证码,后台兼容跳过校验)
String captcha = sysLoginModel.getCaptcha(); String captcha = sysLoginModel.getCaptcha();
if(captcha==null){ String realKey = null;
result.error500("验证码无效"); if (oConvertUtils.isNotEmpty(captcha)) {
return result;
}
String lowerCaseCaptcha = captcha.toLowerCase(); String lowerCaseCaptcha = captcha.toLowerCase();
// 加入密钥作为混淆,避免简单的拼接,被外部利用,用户自定义该密钥即可 // 加入密钥作为混淆,避免简单的拼接,被外部利用,用户自定义该密钥即可
//update-begin---author:chenrui ---date:20250107 for[QQYUN-10775]验证码可以复用 #7674------------ //update-begin---author:chenrui ---date:20250107 for[QQYUN-10775]验证码可以复用 #7674------------
String keyPrefix = Md5Util.md5Encode(sysLoginModel.getCheckKey()+jeecgBaseConfig.getSignatureSecret(), "utf-8"); String keyPrefix = Md5Util.md5Encode(sysLoginModel.getCheckKey()+jeecgBaseConfig.getSignatureSecret(), "utf-8");
String realKey = keyPrefix + lowerCaseCaptcha; realKey = keyPrefix + lowerCaseCaptcha;
//update-end---author:chenrui ---date:20250107 for[QQYUN-10775]验证码可以复用 #7674------------ //update-end---author:chenrui ---date:20250107 for[QQYUN-10775]验证码可以复用 #7674------------
Object checkCode = redisUtil.get(realKey); Object checkCode = redisUtil.get(realKey);
//当进入登录页时,有一定几率出现验证码错误 #1714 //当进入登录页时,有一定几率出现验证码错误 #1714
@@ -101,6 +99,7 @@ public class LoginController {
result.setCode(HttpStatus.PRECONDITION_FAILED.value()); result.setCode(HttpStatus.PRECONDITION_FAILED.value());
return result; return result;
} }
}
// step.2 校验用户是否存在且有效 // step.2 校验用户是否存在且有效
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
@@ -124,7 +123,9 @@ public class LoginController {
userInfo(sysUser, result, request); userInfo(sysUser, result, request);
// step.5 登录成功删除验证码 // step.5 登录成功删除验证码
if (oConvertUtils.isNotEmpty(realKey)) {
redisUtil.del(realKey); redisUtil.del(realKey);
}
redisUtil.del(CommonConstant.LOGIN_FAIL + username); redisUtil.del(CommonConstant.LOGIN_FAIL + username);
// step.6 记录用户登录日志 // step.6 记录用户登录日志