public ActionResult Login(LoginModel model, string returnUrl) { if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { //UserAuth.Current.User = dbContext.Users().Where(u => u.UserName == model.UserName).ToList()[0]; return RedirectToLocal(returnUrl); } // If we got this far, something failed, redisplay form ModelState.AddModelError("error", "The user name or password provided is incorrect."); return View(model); }
public void Login_UserCanLoginInvalidState() { string returnUrl = "/Home/Index"; string userName = "******"; string password = "******"; string error = "The user name or password provided is incorrect."; Controller.ModelState.AddModelError("error", error); WebSecurity.Setup(s => s.Login(userName, password, false)).Returns(false); var model = new LoginModel { UserName = userName, Password = password }; var result = Controller.Login(model, returnUrl) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual(result.ViewData.ModelState["error"].Errors[0].ErrorMessage, error); }
public void Login_UserCanLogin() { string returnUrl = "/Home/Index"; string userName = "******"; string password = "******"; WebSecurity.Setup(s => s.Login(userName, password, false)).Returns(true); var model = new LoginModel { UserName = userName, Password = password }; var result = Controller.Login(model, returnUrl) as RedirectResult; Assert.IsNotNull(result); Assert.AreEqual(returnUrl, result.Url); }
public void Login_InvalidCredentialsRedisplaysLoginScreen() { string returnUrl = "/Home/Index"; string userName = "******"; string password = "******"; WebSecurity.Setup(s => s.Login(userName, password, false)).Returns(false); var model = new LoginModel { UserName = userName, Password = password }; var result = Controller.Login(model, returnUrl) as ViewResult; Assert.IsNotNull(result); Assert.IsFalse(result.ViewData.ModelState.IsValid); }