public ActionResult ChangePassword(string userName) { ViewBag.PasswordAged = ""; ViewBag.oldPasswordNotMatched = ""; ViewBag.PasswordHistryAlert = ""; ChangePsswordViewModel model = new ChangePsswordViewModel(); if (userName != null) { model.UserName = userName; } else { model.UserName = AuthenticatedUser.GetUserFromIdentity().Username; } ViewBag.PasswordAged = TempData["PasswordAgedMessage"]; return(View(model)); }
// GET: /User/ChangePassword public ActionResult ChangePassword(string userName) { //ViewBag.PasswordAged = ""; ChangePsswordViewModel model = new ChangePsswordViewModel(); if (userName != null) { model.UserName = userName; } else { // MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */); //model.UserName = currentUser.UserName; model.UserName = User.Identity.GetUserName().Split('|')[1]; } //ViewBag.PasswordAged = TempData["PasswordAgedMessage"]; return(View(model)); }
public ActionResult ChangePassword(ChangePsswordViewModel model) { if (ModelState.IsValid) { // ChangePassword will throw an exception rather // than return false in certain failure scenarios. bool changePasswordSucceeded; try { if (model.NewPassword == model.OldPassword) { changePasswordSucceeded = false; } else { MD5 md5Hash = MD5.Create(); string hashOldPassword = GetMd5Hash(md5Hash, model.OldPassword); string hashNewPassword = GetMd5Hash(md5Hash, model.NewPassword); var user = model.GetValidUserByPassword(model.UserName, hashOldPassword); if (user == null) { ViewBag.oldPasswordNotMatched = "Wrong Password!"; changePasswordSucceeded = false; } //if (CheckPasswordStrength(user.UserName, user.FullName, model.NewPassword) && hashNewPassword != user.PrevLastPassword && hashNewPassword != user.LastPassword) //{ else { // model.SaveNewPassword(model.UserName, hashNewPassword); changePasswordSucceeded = true; } //} //else //{ // ViewBag.PasswordHistryAlert = "You can not use previously used password or Password should not be part of Name!"; // changePasswordSucceeded = false; //} } } catch (Exception) { changePasswordSucceeded = false; } if (changePasswordSucceeded == true) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login")); } else { return(RedirectToAction("ChangePasswordSuccess", "User")); } } else { ModelState.AddModelError("", "Current password is incorrect or new password is invalid."); } } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult ChangePassword(ChangePsswordViewModel model) { if (ModelState.IsValid) { //ViewBag.PasswordHistryAlert = ""; // ChangePassword will throw an exception rather // than return false in certain failure scenarios. bool changePasswordSucceeded; if (model.NewPassword == model.OldPassword) { changePasswordSucceeded = false; } else { MD5 md5Hash = MD5.Create(); string hashOldPassword = GetMd5Hash(md5Hash, model.OldPassword); string hashNewPassword = GetMd5Hash(md5Hash, model.NewPassword); //changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword); var user = db.Users.FirstOrDefault(u => u.UserName.Equals(model.UserName) && u.Password.Equals(hashOldPassword) && u.Status != 0); if (user == null) { return(HttpNotFound()); } if (hashNewPassword != user.Password) { user.Password = hashNewPassword; user.LastPassChangeDate = DateTime.Now.Date; user.PasswordChangedCount += 1; db.Entry(user).State = EntityState.Modified; db.SaveChanges(user.UserId.ToString()); changePasswordSucceeded = true; } else { //ViewBag.PasswordHistryAlert = "You can not use previously used password!"; changePasswordSucceeded = false; } } if (changePasswordSucceeded) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login")); } } else { ModelState.AddModelError("", "The current password is incorrect or the new password is invalid."); } } // If we got this far, something failed, redisplay form return(View(model)); }