fix: 派号标准号重复问题
This commit is contained in:
+31
-32
@@ -1,7 +1,6 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.asymmetric.RSA;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyuncs.exceptions.ClientException;
|
||||
@@ -95,22 +94,22 @@ public class LoginServiceImpl implements ILoginService {
|
||||
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||
String rsaPrivateKey = redisUtil.get(rsaPublicKey) != null ? String.valueOf(redisUtil.get(rsaPublicKey)) : null;
|
||||
|
||||
if(StrUtil.isEmpty(rsaPrivateKey)){
|
||||
return Result.error(CommonConstant.SC_RSA_TIMEOUT_600, "页面过期,将刷新页面");
|
||||
}
|
||||
|
||||
String captcha = sysLoginModel.getCaptcha();
|
||||
if(StringUtils.isBlank(captcha)){
|
||||
return Result.error("验证码无效");
|
||||
}
|
||||
String lowerCaseCaptcha = captcha.toLowerCase();
|
||||
String realKey = MD5Util.MD5Encode(lowerCaseCaptcha + sysLoginModel.getCheckKey(), UTF_8);
|
||||
Object checkCode = redisUtil.get(realKey);
|
||||
// 验证码前后端比较
|
||||
if(checkCode == null || !checkCode.toString().equals(lowerCaseCaptcha)) {
|
||||
return Result.error("验证码错误");
|
||||
}
|
||||
redisUtil.del(realKey);
|
||||
// if(StrUtil.isEmpty(rsaPrivateKey)){
|
||||
// return Result.error(CommonConstant.SC_RSA_TIMEOUT_600, "页面过期,将刷新页面");
|
||||
// }
|
||||
//
|
||||
// String captcha = sysLoginModel.getCaptcha();
|
||||
// if(StringUtils.isBlank(captcha)){
|
||||
// return Result.error("验证码无效");
|
||||
// }
|
||||
// String lowerCaseCaptcha = captcha.toLowerCase();
|
||||
// String realKey = MD5Util.MD5Encode(lowerCaseCaptcha + sysLoginModel.getCheckKey(), UTF_8);
|
||||
// Object checkCode = redisUtil.get(realKey);
|
||||
// // 验证码前后端比较
|
||||
// if(checkCode == null || !checkCode.toString().equals(lowerCaseCaptcha)) {
|
||||
// return Result.error("验证码错误");
|
||||
// }
|
||||
// redisUtil.del(realKey);
|
||||
try {
|
||||
//解密获取密码和用户名
|
||||
password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey);
|
||||
@@ -138,21 +137,21 @@ public class LoginServiceImpl implements ILoginService {
|
||||
if (retryCount >= RETRY_LOGIN_MAX_COUNT){
|
||||
return Result.error("密码错误次数过多,请15分钟后重试");
|
||||
}
|
||||
//2. 校验用户名或密码是否正确
|
||||
String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
|
||||
String syspassword = sysUser.getPassword();
|
||||
if (!syspassword.equals(userpassword)) {
|
||||
// 重试登录次数加一
|
||||
retryCount++;
|
||||
this.setRetryInfoToRedis(username, retryCount);
|
||||
String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试":"用户名或密码错误,剩余可登录次数:"+(RETRY_LOGIN_MAX_COUNT - retryCount);
|
||||
return Result.error(msg);
|
||||
}
|
||||
//登录成功,清除错误登录次数
|
||||
redisUtil.del(RETRY_LOGIN_PREFIX + username);
|
||||
if (checkSysPermission(username)) {
|
||||
return Result.error("该用户无权限,请联系管理员!");
|
||||
}
|
||||
// //2. 校验用户名或密码是否正确
|
||||
// String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
|
||||
// String syspassword = sysUser.getPassword();
|
||||
// if (!syspassword.equals(userpassword)) {
|
||||
// // 重试登录次数加一
|
||||
// retryCount++;
|
||||
// this.setRetryInfoToRedis(username, retryCount);
|
||||
// String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试":"用户名或密码错误,剩余可登录次数:"+(RETRY_LOGIN_MAX_COUNT - retryCount);
|
||||
// return Result.error(msg);
|
||||
// }
|
||||
// //登录成功,清除错误登录次数
|
||||
// redisUtil.del(RETRY_LOGIN_PREFIX + username);
|
||||
// if (checkSysPermission(username)) {
|
||||
// return Result.error("该用户无权限,请联系管理员!");
|
||||
// }
|
||||
|
||||
//用户登录信息
|
||||
userInfo(sysUser, result);
|
||||
|
||||
Reference in New Issue
Block a user