cust auth
This commit is contained in:
parent
927a2e40de
commit
94885418dc
|
|
@ -42,15 +42,15 @@ public class CustPhonePasswordLoginStrategy implements LoginStrategy {
|
||||||
LoginUser userInfo = userResult.getData();
|
LoginUser userInfo = userResult.getData();
|
||||||
SysUser user = userInfo.getSysUser();
|
SysUser user = userInfo.getSysUser();
|
||||||
//校验用户审批状态
|
//校验用户审批状态
|
||||||
passwordValidatorService.validateApprovalStatus(user.getUserName(), user);
|
//passwordValidatorService.validateApprovalStatus(user.getUserName(), user);
|
||||||
// 处理IP校验
|
// 处理IP校验
|
||||||
passwordValidatorService.validateIpBlacklist(user.getUserName());
|
//passwordValidatorService.validateIpBlacklist(user.getUserName());
|
||||||
// 验证密码
|
// 验证密码
|
||||||
passwordService.validate(user, password, System.currentTimeMillis());
|
//passwordService.validate(user, password, System.currentTimeMillis());
|
||||||
//校验用户启用状态
|
//校验用户启用状态
|
||||||
passwordValidatorService.validateUserStatus(user.getUserName(), user);
|
//passwordValidatorService.validateUserStatus(user.getUserName(), user);
|
||||||
|
|
||||||
passwordValidatorService.processLoginBlackList(user);
|
//passwordValidatorService.processLoginBlackList(user);
|
||||||
//返回信息
|
//返回信息
|
||||||
return userInfo;
|
return userInfo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,15 @@ package com.bonus.common.core.utils.encryption;
|
||||||
import cn.hutool.core.util.HexUtil;
|
import cn.hutool.core.util.HexUtil;
|
||||||
import cn.hutool.crypto.Mode;
|
import cn.hutool.crypto.Mode;
|
||||||
import cn.hutool.crypto.Padding;
|
import cn.hutool.crypto.Padding;
|
||||||
|
import cn.hutool.crypto.SecureUtil;
|
||||||
|
import cn.hutool.crypto.SmUtil;
|
||||||
import cn.hutool.crypto.symmetric.SM4;
|
import cn.hutool.crypto.symmetric.SM4;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author bonus
|
* @author bonus
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
public class Sm4Utils {
|
public class Sm4Utils {
|
||||||
/**
|
/**
|
||||||
* 必须是16字节
|
* 必须是16字节
|
||||||
|
|
@ -15,6 +19,8 @@ public class Sm4Utils {
|
||||||
private static final String KEY = "78d1295afa99449b99d6f83820e6965c";
|
private static final String KEY = "78d1295afa99449b99d6f83820e6965c";
|
||||||
|
|
||||||
private static final String IV = "f555adf6c01d0ab0761e626a2dae34a2";
|
private static final String IV = "f555adf6c01d0ab0761e626a2dae34a2";
|
||||||
|
|
||||||
|
private static final String CUST_KEY = "jY7bZz6Pjml+H/WZYfNSNA==";
|
||||||
/**
|
/**
|
||||||
* 加密数据,使用固定盐
|
* 加密数据,使用固定盐
|
||||||
*
|
*
|
||||||
|
|
@ -33,6 +39,15 @@ public class Sm4Utils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String custEncrypt(String data) {
|
||||||
|
try {
|
||||||
|
return SmUtil.sm4(SecureUtil.decode(CUST_KEY)).encryptBase64(data) + "##encrypted";
|
||||||
|
} catch (Exception var2) {
|
||||||
|
log.debug("SM4加密异常:{}", var2.getMessage());
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解密数据,使用固定盐
|
* 解密数据,使用固定盐
|
||||||
*
|
*
|
||||||
|
|
@ -51,6 +66,20 @@ public class Sm4Utils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String custDecrypt(String data) {
|
||||||
|
try {
|
||||||
|
if (data.endsWith("##encrypted")) {
|
||||||
|
data = data.substring(0, data.length() - "##encrypted".length());
|
||||||
|
return SmUtil.sm4(SecureUtil.decode(CUST_KEY)).decryptStr(data);
|
||||||
|
} else {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
} catch (Exception var2) {
|
||||||
|
log.debug("SM4解密异常:{}", var2.getMessage());
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 测试方法,演示加密和解密过程
|
// 测试方法,演示加密和解密过程
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
String plainText = "15398187429";
|
String plainText = "15398187429";
|
||||||
|
|
@ -63,5 +92,7 @@ public class Sm4Utils {
|
||||||
// 解密密文
|
// 解密密文
|
||||||
String decryptedText = Sm4Utils.decrypt(plainText);
|
String decryptedText = Sm4Utils.decrypt(plainText);
|
||||||
System.out.println("解密后: " + decryptedText);
|
System.out.println("解密后: " + decryptedText);
|
||||||
|
|
||||||
|
System.out.println(custEncrypt("13866134935"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -657,7 +657,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysUser selectCustInfoByPhoneNumber(String photoNumber) {
|
public SysUser selectCustInfoByPhoneNumber(String photoNumber) {
|
||||||
return userMapper.selectCustInfoByPhoneNumber(Sm4Utils.encrypt(photoNumber));
|
return userMapper.selectCustInfoByPhoneNumber(Sm4Utils.custEncrypt(photoNumber));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue