您的位置:首页 > 其它

忘记密码功能

2016-06-30 13:10 218 查看


/**

 * 调往忘记密码页面
 * @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";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: