Esempio n. 1
0
        public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            switch (result)
            {
                case SignInStatus.Success:
                    return RedirectToLocal(returnUrl);
                case SignInStatus.LockedOut:
                    return View("Lockout");
                case SignInStatus.RequiresVerification:
                    return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
                case SignInStatus.Failure:
                default:
                    ModelState.AddModelError("",Resources.Messages.InvalidLoginAttempt);
                    return View(model);
            }
        }
Esempio n. 2
0
 public async Task AccountController_LoginValidTest()
 {
     //Arrange
     AccountController controller = IoCFactory.Instance.CurrentContainer.Resolve<AccountController>();
     LoginViewModel model = new LoginViewModel()
     {
         Email = "*****@*****.**",
         Password = "******",
         RememberMe=true
     };
     controller.Url =  new AccountControllerTests.TestUriHelper();
     //Act
     RedirectToRouteResult result = await controller.Login(model,"/home/index") as RedirectToRouteResult;
     //Assert
     Assert.IsNotNull((object)result);
     Assert.AreEqual((object)"Index", result.RouteValues["action"]);
     Assert.AreEqual((object)"Home", result.RouteValues["controller"]);
 }
Esempio n. 3
0
 public async Task AccountController_LoginInValidPwdTest()
 {
     //Arrange
     AccountController controller = IoCFactory.Instance.CurrentContainer.Resolve<AccountController>();
     LoginViewModel model = new LoginViewModel()
     {
         Email = "*****@*****.**",
         Password = "******",
         RememberMe = true
     };
     controller.Url = new AccountControllerTests.TestUriHelper();
     //Act
     ViewResult result = await controller.Login(model, "/home/index") as ViewResult;
     //Assert
     Assert.IsNotNull(result);
     Assert.IsTrue(controller.ModelState.Count == 1);
     string errors = string.Join("; ", controller.ModelState.Values
                                 .SelectMany(x => x.Errors)
                                 .Select(x => x.ErrorMessage));
     Assert.AreEqual(errors, Resources.Messages.InvalidLoginAttempt,true);
 }