|
|
@ -183,7 +183,52 @@ public class SysUserController extends BaseController { |
|
|
user.randomSalt(); |
|
|
user.randomSalt(); |
|
|
String loginAccount = StringUtils.isNotBlank(user.getLoginName()) ? user.getLoginName() : user.getUserName(); |
|
|
String loginAccount = StringUtils.isNotBlank(user.getLoginName()) ? user.getLoginName() : user.getUserName(); |
|
|
user.setPassword(DigestUtil.md5Hex(loginAccount + user.getPassword() + user.getSalt())); |
|
|
user.setPassword(DigestUtil.md5Hex(loginAccount + user.getPassword() + user.getSalt())); |
|
|
return toAjax(userService.insertUser(user)); |
|
|
int rows = userService.insertUser(user); |
|
|
|
|
|
if (rows > 0) { |
|
|
|
|
|
String bizId = String.valueOf(user.getUserId()); |
|
|
|
|
|
try { |
|
|
|
|
|
String passwordCipher = ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "password", user.getPassword()); |
|
|
|
|
|
if (StringUtils.isNotBlank(passwordCipher)) { |
|
|
|
|
|
userService.resetUserPwd(user.getUserId(), passwordCipher); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM加密密码失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
if (StringUtils.isNotEmpty(user.getPhonenumber())) { |
|
|
|
|
|
try { |
|
|
|
|
|
String phoneCipher = ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "phonenumber", user.getPhonenumber()); |
|
|
|
|
|
if (StringUtils.isNotBlank(phoneCipher)) { |
|
|
|
|
|
userService.updateUserProfile(new SysUserBo() {{ setUserId(user.getUserId()); setPhonenumber(phoneCipher); }}); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM加密手机号失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (StringUtils.isNotEmpty(user.getCertificateNumber())) { |
|
|
|
|
|
try { |
|
|
|
|
|
String certCipher = ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "certificateNumber", user.getCertificateNumber()); |
|
|
|
|
|
if (StringUtils.isNotBlank(certCipher)) { |
|
|
|
|
|
org.dromara.system.domain.bo.SysUserBo certBo = new org.dromara.system.domain.bo.SysUserBo(); |
|
|
|
|
|
certBo.setUserId(user.getUserId()); |
|
|
|
|
|
certBo.setCertificateNumber(certCipher); |
|
|
|
|
|
userService.updateUserById(certBo); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM加密证件号失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
try { |
|
|
|
|
|
SysUserVo updatedUser = userService.selectUserById(user.getUserId()); |
|
|
|
|
|
ICryptoSensitiveHsmService.saveIntegrityHash("sys_user", bizId, |
|
|
|
|
|
"password,phonenumber,certificateNumber", |
|
|
|
|
|
updatedUser.getPassword() != null ? updatedUser.getPassword() : "", |
|
|
|
|
|
updatedUser.getPhonenumber() != null ? updatedUser.getPhonenumber() : "", |
|
|
|
|
|
updatedUser.getCertificateNumber() != null ? updatedUser.getCertificateNumber() : ""); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM完整性摘要更新失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return toAjax(rows); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -204,7 +249,47 @@ public class SysUserController extends BaseController { |
|
|
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { |
|
|
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { |
|
|
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); |
|
|
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); |
|
|
} |
|
|
} |
|
|
return toAjax(userService.updateUser(user)); |
|
|
int rows = userService.updateUser(user); |
|
|
|
|
|
if (rows > 0) { |
|
|
|
|
|
String bizId = String.valueOf(user.getUserId()); |
|
|
|
|
|
if (StringUtils.isNotBlank(user.getPhonenumber())) { |
|
|
|
|
|
try { |
|
|
|
|
|
String phoneCipher = ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "phonenumber", user.getPhonenumber()); |
|
|
|
|
|
if (StringUtils.isNotBlank(phoneCipher)) { |
|
|
|
|
|
SysUserBo phoneBo = new SysUserBo(); |
|
|
|
|
|
phoneBo.setUserId(user.getUserId()); |
|
|
|
|
|
phoneBo.setPhonenumber(phoneCipher); |
|
|
|
|
|
userService.updateUserProfile(phoneBo); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM加密手机号失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (StringUtils.isNotBlank(user.getCertificateNumber())) { |
|
|
|
|
|
try { |
|
|
|
|
|
String certCipher = ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "certificateNumber", user.getCertificateNumber()); |
|
|
|
|
|
if (StringUtils.isNotBlank(certCipher)) { |
|
|
|
|
|
SysUserBo certBo = new SysUserBo(); |
|
|
|
|
|
certBo.setUserId(user.getUserId()); |
|
|
|
|
|
certBo.setCertificateNumber(certCipher); |
|
|
|
|
|
userService.updateUserById(certBo); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM加密证件号失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
try { |
|
|
|
|
|
SysUserVo updatedUser = userService.selectUserById(user.getUserId()); |
|
|
|
|
|
ICryptoSensitiveHsmService.saveIntegrityHash("sys_user", bizId, |
|
|
|
|
|
"password,phonenumber,certificateNumber", |
|
|
|
|
|
updatedUser.getPassword() != null ? updatedUser.getPassword() : "", |
|
|
|
|
|
updatedUser.getPhonenumber() != null ? updatedUser.getPhonenumber() : "", |
|
|
|
|
|
updatedUser.getCertificateNumber() != null ? updatedUser.getCertificateNumber() : ""); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.warn("HSM完整性摘要更新失败, userId={}", user.getUserId(), e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return toAjax(rows); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -254,7 +339,10 @@ public class SysUserController extends BaseController { |
|
|
if (rows > 0) { |
|
|
if (rows > 0) { |
|
|
try { |
|
|
try { |
|
|
String bizId = String.valueOf(user.getUserId()); |
|
|
String bizId = String.valueOf(user.getUserId()); |
|
|
ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "password", md5Password); |
|
|
String passwordCipher = ICryptoSensitiveHsmService.encryptAndSave("sys_user", bizId, "password", md5Password); |
|
|
|
|
|
if (StringUtils.isNotBlank(passwordCipher)) { |
|
|
|
|
|
userService.resetUserPwd(user.getUserId(), passwordCipher); |
|
|
|
|
|
} |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.warn("HSM加密重置密码失败, userId={}", user.getUserId(), e); |
|
|
log.warn("HSM加密重置密码失败, userId={}", user.getUserId(), e); |
|
|
} |
|
|
} |
|
|
@ -263,7 +351,7 @@ public class SysUserController extends BaseController { |
|
|
SysUserVo updatedUser = userService.selectUserById(user.getUserId()); |
|
|
SysUserVo updatedUser = userService.selectUserById(user.getUserId()); |
|
|
ICryptoSensitiveHsmService.saveIntegrityHash("sys_user", bizId, |
|
|
ICryptoSensitiveHsmService.saveIntegrityHash("sys_user", bizId, |
|
|
"password,phonenumber,certificateNumber", |
|
|
"password,phonenumber,certificateNumber", |
|
|
md5Password, |
|
|
updatedUser.getPassword() != null ? updatedUser.getPassword() : "", |
|
|
updatedUser.getPhonenumber() != null ? updatedUser.getPhonenumber() : "", |
|
|
updatedUser.getPhonenumber() != null ? updatedUser.getPhonenumber() : "", |
|
|
updatedUser.getCertificateNumber() != null ? updatedUser.getCertificateNumber() : ""); |
|
|
updatedUser.getCertificateNumber() != null ? updatedUser.getCertificateNumber() : ""); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
|