예제 #1
0
        public void T01_Login()
        {
            var loginModel = new AuthLogInModel();

            Validate(loginModel);
            Assert.AreEqual(2, Validate(loginModel).Count, "Login model failed: count of fail validation is not equal 9");

            loginModel.Email    = _user.Email;
            loginModel.Password = "******";

            Validate(loginModel);
            Assert.AreEqual(0, Validate(loginModel).Count, "Login model failed");

            // Wrong password
            var wrongResult = _controller.Login(loginModel) as ViewResult;

            Assert.IsNotNull(wrongResult);
            Assert.IsFalse(wrongResult.ViewData.ModelState.IsValid);

            // Correct password
            loginModel.Password = "******";
            _controller.ModelState.Clear();
            var result = _controller.Login(loginModel) as RedirectToRouteResult;

            Assert.IsNotNull(result);
        }
예제 #2
0
        public ActionResult Login(AuthLogInModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var user = FindUser(model.Email);

            if (user == null || !user.ValidatePassword(model.Password))
            {
                ModelState.AddModelError("", "The e-mail address and password you entered do not match any accounts on record.");
                return(View());
            }

            _loginManager.SetLoginSessionUserId(user.Id);
            return(RedirectToAction("securitycheck", new { returnUrl = model.ReturnUrl }));
        }