update:用户管理-修改密码,密码加密传输
This commit is contained in:
+5
-2
@@ -458,13 +458,16 @@ public class SysUserController {
|
||||
// @RequestMapping(value = "/changePassword", method = RequestMethod.PUT)
|
||||
@PostMapping("/changePassword")
|
||||
@RequiresPermissions("user:password")
|
||||
public Result<T> changePassword(@RequestBody SysUser sysUser) {
|
||||
public Result<T> changePassword(@RequestBody JSONObject jsonObject) {
|
||||
String rsaPublicKey = jsonObject.getString(RSA_PUBLIC_KEY);
|
||||
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||
SysUser sysUser = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
|
||||
SysUser u = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, sysUser.getUsername()));
|
||||
if (u == null) {
|
||||
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
sysUser.setId(u.getId());
|
||||
return sysUserService.changePassword(sysUser);
|
||||
return sysUserService.changePassword(sysUser, rsaPrivateKey);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
* @param sysUser
|
||||
* @return
|
||||
*/
|
||||
public Result<T> changePassword(SysUser sysUser);
|
||||
public Result<T> changePassword(SysUser sysUser, String rsaPrivateKey);
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
|
||||
+2
-2
@@ -116,10 +116,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
|
||||
@Override
|
||||
@CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
|
||||
public Result<T> changePassword(SysUser sysUser) {
|
||||
public Result<T> changePassword(SysUser sysUser, String rsaPrivateKey) {
|
||||
String password = CommonUtils.decryptBtRsaPriKey(sysUser.getPassword(), rsaPrivateKey); // 利用私钥解密
|
||||
String salt = UUIDUtils.randomUUID(8);
|
||||
sysUser.setSalt(salt);
|
||||
String password = sysUser.getPassword();
|
||||
String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);
|
||||
sysUser.setPassword(passwordEncode);
|
||||
this.userMapper.updateById(sysUser);
|
||||
|
||||
Reference in New Issue
Block a user