忘记密码功能

 
 
/**

 * 调往忘记密码页面

 * @author xushuanglu

 * @date 2016年6月21日

 */

@RequestMapping(value ="/toFindPass")

public String toFindPass() {

return display("forget");

}

 

/**

 * 忘记密码下一步

 * @param phone   手机号

 * @param code    验证码

 * @param phonecode   手机短信验证码

 * @author xushuanglu

 * @date 2016年6月21日

 */

@RequestMapping(value ="/toValidate")

public String toValidate(ModelMapmodel, Stringphone, Stringcode, String phonecode,

HttpServletRequest request,HttpServletResponse response) {

// 后台验证  通过手机号查询用户信息

HjsUsersCustomer hjsUsersCustomer =usersCustomerService.getByPhone(phone);

String result = backgroundValidate(phone,code,phonecode,hjsUsersCustomer);

if (result !=null) {

error(result,request,response);

return null;

}

getSession().setAttribute("resetUserId",hjsUsersCustomer.getId());

model.addAttribute("hjsUsersCustomer",hjsUsersCustomer);// 用户信息

return display("resetPassWord");

}

 

/**

 * 后台验证

 * @param phone  手机号

 * @param code   验证码

 * @param phonecode  手机短信验证码

 * @author xushuanglu

 * @date 2016年6月21日

 */

private String backgroundValidate(Stringphone, Stringcode, Stringphonecode,

           HjsUsersCustomer hjsUsersCustomer) {

String result =null;

// 判断用户信息是否存在

if (hjsUsersCustomer ==null) {

return result ="用户信息不存在或者用户已经停用,请与客服联系";

}

// 手机验证码

if(getSession().getAttribute("passCode") !=null){

String codeString = getSession().getAttribute("passCode").toString();

Date codeTime = (Date) getSession().getAttribute("passTime");

String phoneString = getSession().getAttribute("passPhone").toString();

long diff = (new Date().getTime() -codeTime.getTime()) / (1000 * 60);

if (!codeString.equals(phonecode) ||diff > 30 || !phoneString.equals(hjsUsersCustomer.getPhone())) {

return result ="手机校验码不正确";

} else {

getSession().removeAttribute("passCode");

}

}

// 验证码

if (ValidateUtils.isStringEmpty(code)) {

return result ="请输入验证码";

}

if(!getSession().getAttribute(Const.SESSION_SECURITY_CODE).toString().equalsIgnoreCase(code)) {

return result ="验证码不正确";

}

return result;

}

 

 

/**

 * 修改密码

 * @param newPass   新密码

 * @author xushuanglu

 * @date 2016年6月21日

 */

@RequestMapping(value ="/resetPass")

public String editPass(ModelMapmodel, StringnewPass,HttpServletRequestrequest,

HttpServletResponse response) {

//后台验证

if (ValidateUtils.isStringEmpty(newPass)) {

error("请填写新密码",request,response);

return null;

}

if (request.getSession().getAttribute("resetUserId") ==null) {

error("重设密码失败,请稍后再试",request,response);

return null;

}

Integer userId = (Integer)getSession().getAttribute("resetUserId");

getSession().setAttribute("resetUserId",null);

HjsUsersCustomer usersCustomer =usersCustomerService.getById(userId);

newPass = new SimpleHash("SHA-1",usersCustomer.getUsername(),newPass).toString();//密码

usersCustomer.setPassword(newPass);

//更新密码

usersCustomerService.update(usersCustomer);

return "redirect:login";

}

猜你喜欢

转载自blog.csdn.net/xushuanglu_csdn/article/details/51789525
今日推荐