Esempio n. 1
0
 public ActionResult ChangePassword(string key)
 {
     if (key == null)
     {
         var login = Session[Constants.SESSION_USER_NAME];
         if (login == null) return View();
         var userPassword = new UserPassword(login.ToString(), true);
         Session["ReturnUrl"] = Request.UrlReferrer;
         return View(userPassword);
     }
     var result = ServiceProxySingleton.Instance.GetUserPasswordByCode(key);
     if (result.IsError())
     {
         SessionHelper.ClearSession(result.ErrorMessage);
         return RedirectToAction("LogOn", "Login");
     }
     return View(result.AttachedObject);
 }
Esempio n. 2
0
        public BaseResult ChangePassword(UserPassword userPassword)
        {
            var user = Db.GetAndAuthenticateUser(
                    new LogonArg
                    {
                        Login = userPassword.UserName,
                        PasswordHash = userPassword.OldPassword,
                        Salt = userPassword.Salt
                    });
            if (user == null)
                return new BaseResult { ErrorMessage = Messages.UserNotFoundByPassword };
            if (user.Password == userPassword.Password)
                return new BaseResult { ErrorMessage = Messages.NewPasswordIsNotDifferentFromTheOld };

            user.Password = userPassword.Password;
            Db.Save(user);
            return new BaseResult();
        }
Esempio n. 3
0
        public ActionResult ChangePassword(UserPassword userPassword)
        {
            if (ModelState.IsValid)
            {
                userPassword.Password = CryptHelper.GetSha512Base64Hash(userPassword.UserName.ToLower() + userPassword.Password);

                BaseResult result;

                if (userPassword.OldPasswordNeeded)
                {
                    userPassword.Salt = RandomHelper.GetRandomString(10);
                    userPassword.OldPassword = CryptHelper.GetSha512Base64Hash(userPassword.Salt
                        + CryptHelper.GetSha512Base64Hash(userPassword.UserName.ToLower() + userPassword.OldPassword));
                    result = ServiceProxySingleton.Instance.ChangePassword(userPassword);
                }
                else
                    result = ServiceProxySingleton.Instance.ForgotPassword(userPassword);
                if (result.IsSuccess())
                {
                    if (Session["ReturnUrl"] != null)
                    {
                        var url = Session["ReturnUrl"].ToString();
                        Session["ReturnUrl"] = null;
                        return Redirect(url);
                    }
                    TempData["SuccessMessage"] = Messages.ChangePasswordSuccess;
                    return RedirectToAction("LogOn", "Login");
                }
                ModelState.AddModelError("", result.ErrorMessage);

            }
            else
            {
                var errors =
                    ModelState.Values.SelectMany(v => v.Errors).Select(x => x.ErrorMessage).Distinct().ToArray();
                foreach (var e in errors)
                    ModelState.AddModelError("", e);
            }
            return View(userPassword);
        }
Esempio n. 4
0
        public BaseResult ForgotPassword(UserPassword userPassword)
        {
            var user = Db.GetUserByLogin(userPassword.UserName);
            if (user == null)
                return new LoginResult { ErrorMessage = Messages.WrongLogin };

            var temporaryCode = Db.GetTemporaryCodeByUserId(user.UserId);
            if (temporaryCode == null || temporaryCode.Code != userPassword.Code)
                return new BaseResult { ErrorMessage = Messages.CantForgotPassword };
            if (temporaryCode.ExpireDate < DateTime.Now)
                return new BaseResult { ErrorMessage = Messages.TemporaryCodeExpired };

            Db.Delete(temporaryCode);

            user.Password = userPassword.Password;
            Db.Save(user);
            return new BaseResult();
        }
 public BaseResult ForgotPassword(UserPassword userPassword)
 {
     return SendPostRequest<BaseResult, UserPassword>("forgotPassword", userPassword);
 }
 public BaseResult ChangePassword(UserPassword userPassword)
 {
     return SendPostRequest<BaseResult, UserPassword>("changePassword", userPassword);
 }