• 新版网站前后台即将上线,2019年将致力于提高文章质量,加大原创力度,打造一个更加舒适的阅读体验!
  • 极客文库小编@勤劳的小蚂蚁,为您推荐每日资讯,欢迎关注!
  • 新版网站前后台即将上线,2019年将致力于提高文章质量,加大原创力度,打造一个更加舒适的阅读体验!
  • 如果有任何体验不佳的地方,欢迎向客服反馈!

从零到企业级SSM电商项目实战教程(二十)忘记密码中的重置密码功能开发

文章目录[隐藏]

UserController.java

/*
 * @Description: 忘记密码中的重置密码
 *
 * @auther: Geekerstar(jikewenku.com)
 * @date: 2018/6/22 15:30
 * @param: 
 * @return: 
 */

@RequestMapping(value = "forget_reset_password.do",method = RequestMethod.GET)
@ResponseBody
public ServerResponse<String> forgetRestPassword(String username,String passowrdNew,String forgetToken){
    return iUserService.forgetResetPassword(username,passowrdNew,forgetToken);
}

IUserService.java

ServerResponse<String> forgetResetPassword(String username,String passwordNew,String forgetToken);

UserServiceImpl.java

public ServerResponse<String> forgetResetPassword(String username,String passwordNew,String forgetToken){
    if(StringUtils.isBlank(forgetToken)){
        return ServerResponse.createByErrorMessgae("参数错误,token 需要传递");
    }
    ServerResponse validResponse = this.checkValid(username,Const.USERNAME);
    if(validResponse.isSuccess()){
        //用户不存在
        return ServerResponse.createByErrorMessgae("用户不存在");
    }
    String token = TokenCache.getKey(TokenCache.TOKEN_PREFIX+username);
    if(StringUtils.isBlank(token)){
        return ServerResponse.createByErrorMessgae("token 无效或者过期");
    }
    if(StringUtils.equals(forgetToken,token)){
        String md5Password = MD5Util.MD5EncodeUtf8(passwordNew);
        int rowCount = userMapper.updatePasswordByUsername(username,passwordNew);

        if(rowCount > 0){
            return ServerResponse.createBySuccessMessage("修改密码成功");
        }
    }else{
        return ServerResponse.createByErrorMessgae("token 错误,请重新获取重置密码的 token");
    }
    return ServerResponse.createByErrorMessgae("修改密码失败");

}

UserMapper.java

int updatePasswordByUsername(@Param("username") String username,@Param("passwordNew") String passwordNew)

UserMapper.xml

<update id="updatePasswordByUsername" parameterType="map">
  update mmall_user
  set password = #{passwordNew},update_time = now()
  UPDATE username = #{username}
</update>

TockenCache.java

public static final String TOKEN_PREFIX = "token_";

喜欢 (0)
[247507792@qq.com]
分享 (0)
Geekerstar
关于作者:
本站技术支持

欢迎 注册账号 登录 发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00