public ActionResult Register(RegisterModel model) { var code = (this.SessionGet <string>(SessionName.验证码) ?? "").ToLower(); this.SessionRemove(SessionName.验证码); if (model.Validcode.ToLower() != code) { this.ModelState.AddModelError("Validcode", "验证码不正确"); return(View(model)); } if (this.ModelState.IsValid) { if (this._userService.UserNickExist(model.NickName)) { this.ModelState.AddModelError("NickName", "昵称已经被使用"); return(View(model)); } // 尝试注册用户 try { var token = WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { Email = model.UserName, model.NickName, model.Sex, model.Province, model.City, model.ProvinceName, model.CityName }, true); var userid = WebSecurity.GetUserId(model.UserName); var uid = this._userService.InserOrUpdateExtUid(userid); SystemMessagerManager.SendValidateMail(Dev.Comm.Web.HttpServerInfo.BaseUrl, model.UserName, model.NickName, "邮件激活", SystemMessagerManager.ActMessage(Dev.Comm.Web.HttpServerInfo.BaseUrl, model.UserName, model.NickName, token)); return(this.RedirectToAction("EmailActivation", new { email = model.UserName })); } catch (MembershipCreateUserException e) { this.ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(View(model)); }
public ActionResult ResendToken(string email) { if (WebSecurity.IsConfirmed(email)) { return(this.Json(false)); } var NickName = this._userService.GetNickNameByUserName(email); var token = this._userService.GetTokenByUserName(email); SystemMessagerManager.SendValidateMail(Dev.Comm.Web.HttpServerInfo.BaseUrl, email, NickName, "邮件激活", SystemMessagerManager.ActMessage(Dev.Comm.Web.HttpServerInfo.BaseUrl, email, NickName, token)); return(this.Json(true)); }
private BaseState GetPassWordByPhone(GetPwdModel model) { var userid = WebSecurity.GetUserId(model.UserName); var uid = this.GetUidByUserId(userid); var profile = this._userProfileRepository.FindOne(x => x.UserId == userid); if (profile == null) { return(new BaseState(-1, "用户不存在")); } var phone = profile.Phone; if (string.IsNullOrEmpty(phone)) { return(new BaseState(-1, "用户还未设置手机号")); } if (profile.LastPhonePasswordResetTokenTime.HasValue && profile.LastPhonePasswordResetTokenTime.Value.AddMinutes(1) > System.DateTime.Now || profile.PhonePasswordResendCount.HasValue && profile.PhonePasswordResendCount >= 5 && profile.LastPhonePasswordResetTokenTime.HasValue && profile.LastPhonePasswordResetTokenTime.Value.AddHours(1) > System.DateTime.Now) { return(new BaseState(-1, "短信发送过于频繁,请稍后再试")); } var code = this.GeneratePhonePasswordResetToken(model.UserName); var message = "尊敬的" + phone + ",您好!XXXXX发送给您的认证码是" + code + ",请在网站上输入,找回XXXXX密码。如非本人操作,请忽略。"; var issend = SystemMessagerManager.SendSMS(phone, message, uid); if (!issend) { return(new BaseState(-1, "发送失败")); } return(new BaseState(0, phone + "," + model.UserName)); }
private BaseState GetPassWordByEmail(string baseurl, GetPwdModel model) { if (!Dev.Comm.Validate.Validate.IsEmail(model.UserName)) { return(new BaseState(-1, "用户名非邮箱!")); } var nick = this.GetNickNameByUserName(model.UserName); var token = WebSecurity.GeneratePasswordResetToken(model.UserName); var mail = SystemMessagerManager.GetContentForGetPass(baseurl, nick, token); var isok = SystemMessagerManager.SendValidateMail(baseurl, model.UserName, nick, "找回密码", mail); if (isok) { return(new BaseState()); } return(new BaseState { ErrorCode = -1, ErrorMessage = "发送邮件失败" }); }