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));
        }
示例#2
0
 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"));
        }