public ActionResult ForgotPassword(ForgotPasswordModel model) { if (ModelState.IsValid) { var user = MembershipService.GetUserModel(model.Username); if (user == null) { ModelState.AddModelError("", Resources.Home_ForgotPassword_UserNameFailure); Response.AppendToLog("FAILURE"); } else { string token = MembershipService.GenerateResetToken(user.Username); MvcApplication.Cache.Add(token, model.Username, DateTimeOffset.Now.AddHours(1)); // Passing Requust.Url.Scheme to Url.Action forces it to generate a full URL var resetUrl = Url.Action("ResetPassword", "Home", new {digest = HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(token))},Request.Url.Scheme); TempData["SendSuccess"] = MembershipHelper.SendForgotPasswordEmail(user, resetUrl); } } return View(model); }
public ActionResult ForgotPassword(ForgotPasswordModel model) { if (ModelState.IsValid) { using (var db = new BonoboGitServerContext()) { var user = db.Users.FirstOrDefault(x => x.Username.Equals(model.Username, StringComparison.OrdinalIgnoreCase)); if (user == null) { ModelState.AddModelError("", Resources.Home_ForgotPassword_UserNameFailure); Response.AppendToLog("FAILURE"); } else { string token = MembershipService.GenerateResetToken(model.Username); MvcApplication.Cache.Add(token, model.Username, DateTimeOffset.Now.AddHours(1)); TempData["SendSuccess"] = MembershipHelper.SendForgotPasswordEmail(user, token); } } } return View(model); }