コード例 #1
0
        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));
        }
コード例 #2
0
        // 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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }