public ActionResult ResetPassword(string id) { List <Question> QList = DB.Questions.ToList(); ViewBag.Quests = QList; LogInOut_ForgPass_Func HelperFunc = new LogInOut_ForgPass_Func(); User returnedUser = HelperFunc.UpdateNavToLisk(id); if (returnedUser == null) { return(RedirectToAction("Expired")); } int userID = returnedUser.ID; DateTime epiredDate = (DateTime)(returnedUser.ResetPasswordDate); bool navToLink = returnedUser.navigateToLink; //int userID = DB.Users.Where(x => x.ResetPasswordCode.ToString() == id).FirstOrDefault().ID; //DateTime epiredDate = (DateTime)(DB.Users.Where(x => x.ID == userID).FirstOrDefault().ResetPasswordDate); //bool navToLink = DB.Users.Where(x => x.ID == userID).FirstOrDefault().navigateToLink; if (DateTime.Now > epiredDate.AddDays(1) || navToLink == true) { return(RedirectToAction("Expired")); } returnedUser.navigateToLink = true; DB.Users.Attach(returnedUser); var entry = DB.Entry(returnedUser); entry.Property(e => e.navigateToLink).IsModified = true; // other changed properties DB.SaveChanges(); resetPasswordModel model = new resetPasswordModel(); model.id = userID; return(View(model)); }
public IActionResult ResetPassword(resetPasswordModel model) { if (ModelState.IsValid) { var user = _context.PlayUser.First(t => t.Id == User.userID()); if (user.Password == model.CurrentPassword) { user.Password = model.Password; _context.SaveChanges(); return(Redirect("/")); } else { ModelState.AddModelError("", "旧密码错误!"); return(View("Account", model)); } } return(View("Account", model)); }
public ActionResult ResetPassword(resetPasswordModel model) { User U = DB.Users.Where(n => n.ID == model.id).Where(n => n.ID == model.id).FirstOrDefault(); string hashedAnswer = LogInOut_ForgPass_Func.GenerateSHA256String(model.Answer); int questinID = DB.Questions.Where(a => a.QTextEnglish == model.Question).FirstOrDefault().ID; //User x = DB.Users.Where(n => n.ID == model.id).Where(n => n.QuestionAnswer == hashedAnswer).FirstOrDefault(); if (questinID == U.QuestionID && U.QuestionAnswer == hashedAnswer) { U.Password = LogInOut_ForgPass_Func.GenerateSHA256String(model.Password); TempData["passwordChanged"] = "Password changed successfully"; DB.Entry(U).State = System.Data.Entity.EntityState.Modified; DB.SaveChanges(); } else { TempData["passwordChanged"] = "Question Or answer is wrong"; } return(RedirectToAction("PassChanged")); }