Esempio n. 1
0
        public ActionResult Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                int             outputMessage;
                AccountDbAccess ADA = new AccountDbAccess();
                ADA.LogInUser(model.userName, model.password, true, Config.clientId, out outputMessage);
                LoginErrorCode errorCode = (LoginErrorCode)outputMessage;

                if (outputMessage == 0)
                {
                    //Check is this first login, then redirect to change password
                    if (UserInfoModel.PasswordExpireDate < DateTime.Now)
                    {
                        return(RedirectToAction("ChangePassword", new { @userId = UserInfoModel.UserID }));
                    }

                    ViewBag.message     = "Successfully loggedIn";
                    ViewBag.messageType = "success";

                    return(JavaScript("window.top.location.href ='" + Url.Action("Index", "Home", new { area = "" }) + "';"));
                }
                else
                {
                    ModelState.AddModelError("LoginModel", "Login failed");

                    ViewBag.message     = "Login failed";
                    ViewBag.messageType = "error";
                }
            }
            else
            {
                ModelState.AddModelError("Login", "Login failed");

                ViewBag.message     = "Login failed";
                ViewBag.messageType = "error";
            }

            return(PartialView(model));
        }
Esempio n. 2
0
        public ActionResult ChangePassword(ChangePasswordModel model)
        {
            if (ModelState.IsValid)
            {
                //Validate new password
                if (model.newPswd != model.confirmPswd)
                {
                    ViewBag.message     = AccountResource.ResourceManager.GetString("passwordMismatch");
                    ViewBag.messageType = MessageTypes.Error;
                    return(PartialView(model));
                }

                if (UserInfoModel.UserID <= 0)
                {
                    ViewBag.message     = AccountResource.ResourceManager.GetString("error_PswdChange");
                    ViewBag.messageType = MessageTypes.Error;
                    return(PartialView(model));
                }
                else
                {
                    AccountDbAccess ADA = new AccountDbAccess();
                    string          resetError;

                    if (!ADA.UpdatePassword(UserInfoModel.UserID, model.newPswd, out resetError))
                    {
                        ViewBag.message     = resetError;
                        ViewBag.messageType = MessageTypes.Error;
                        return(PartialView(model));
                    }

                    //Clears login attempt History for specified userId
                    int rows = ADA.ClearLoginAttempts(UserInfoModel.UserID);

                    //Get user with new password to make sure that everything is OK
                    int outputValue;

                    ADA.LogInUser(model.email, model.newPswd, true, Config.clientId, out outputValue);

                    if (outputValue == 0)
                    {
                        ViewBag.message     = "Successfully changed password";
                        ViewBag.messageType = "success";

                        return(JavaScript("window.top.location.href ='" + Url.Action("Index", "Login", new { area = "Account" }) + "';"));
                    }
                    else
                    {
                        //UserInfoModel.UserInfo = SessionWrapper.Get<UserInfoModel>("UserDetail", null);
                        ViewBag.message     = AccountResource.ResourceManager.GetString("criticalError");
                        ViewBag.messageType = MessageTypes.Error;
                        return(PartialView(model));
                    }
                }
            }
            else
            {
                ModelState.AddModelError("Login", "Password couldn't change");

                ViewBag.message     = "Password change failed";
                ViewBag.messageType = "error";
            }
            return(PartialView(model));
        }