博客项目目录: 请戳这里
准备
需求:用户登录后,鼠标悬停在用户部分,点击下拉菜单的基本设置,跳转到对应的页面,填写相应信息,可以修改密码。
1.在controller层添加对应方法
主要验证两个地方:
- 1.输入的密码(nowpass)和用户的密码是否一致
- 2.两次输入的新密码(pass和repass)是否一致
验证完之后,用输入的新密码替换掉原来的密码,并跟新用户信息
//基本设置(密码修改)
@ResponseBody
@PostMapping("/user/repass")
public Result repass(String nowpass, String pass, String repass) {
if(!pass.equals(repass)) {
return Result.fail("两次密码不相同");
}
User user = userService.getById(getProfileId());
String nowPassMd5 = SecureUtil.md5(nowpass);
if(!nowPassMd5.equals(user.getPassword())) {
return Result.fail("密码不正确");
}
user.setPassword(SecureUtil.md5(pass));
userService.updateById(user);
return Result.success().action("/user/set#pass");
}
2.修改set.ftl
在对应处添加alert和reload
3.测试
-
在第一个框输入和原密码不同的密码:
-
在第二个框输入框和第三个输入框,输入不同的密码:
-
正确方式修改密码之后:
参考资料:
https://github.com/MarkerHub/eblog