public ActionResult LogOn(LogOnViewModel model, String returnUrl) { if (ModelState.IsValid) { if (_authProvider.Authenticate(model.UserName, model.Password)) { return Redirect(returnUrl ?? Url.Action("Index", "Admin")); } else { ModelState.AddModelError("", "Incorrect username or password"); return View(); } } else { return View(); } }
public ActionResult LogOn(LogOnViewModel model, string returnUrl) { if (ModelState.IsValid) // No point trying authentication if model is invalid if (!FormsAuthentication.Authenticate(model.UserName, model.Password)) ModelState.AddModelError("", "Incorrect username or password"); if (ModelState.IsValid) { // Grant cookie and redirect (to admin home if not otherwise specified) FormsAuthentication.SetAuthCookie(model.UserName, false); return Redirect(returnUrl ?? Url.Action("Index", "Admin")); } else return View(); }
public void Can_Login_With_Valid_Credentials() { // Arrange - create a mock authentication provider Mock<IAuthProvider> mock = new Mock<IAuthProvider>(); mock.Setup(m => m.Authenticate("admin", "secret")).Returns(true); // Arrange - create the view model LogOnViewModel model = new LogOnViewModel { UserName = "******", Password = "******" }; // Arrange - create the controller AccountController target = new AccountController(mock.Object); // Act - authenticate using valid credentials ActionResult result = target.LogOn(model, "/MyURL"); // Assert Assert.IsInstanceOfType(result, typeof(RedirectResult)); Assert.AreEqual("/MyURL", ((RedirectResult)result).Url); }
public void Cannot_Login_With_Invalid_Credentials() { // Arrange - create a mock authentication provider Mock<IAuthProvider> mock = new Mock<IAuthProvider>(); mock.Setup(m => m.Authenticate("badUser", "badPass")).Returns(false); // Arrange - create the view model LogOnViewModel model = new LogOnViewModel { UserName = "******", Password = "******" }; // Arrange - create the controller AccountController target = new AccountController(mock.Object); // Act - authenticate using valid credentials ActionResult result = target.LogOn(model, "/MyURL"); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); Assert.IsFalse(((ViewResult)result).ViewData.ModelState.IsValid); }
public ActionResult LogOn(LogOnViewModel model, string returnUrl) { if(ModelState.IsValid) { if(!FormsAuthentication.Authenticate(model.UserName, model.Password)) { ModelState.AddModelError("", "Incorrect username or password"); } } if(ModelState.IsValid) { FormsAuthentication.SetAuthCookie(model.UserName, false); return Redirect(returnUrl ?? Url.Action("Index", "Admin")); } return View(); }
public void Can_Login_With_Valid_Credentials() { // Arrange Mock<IAuthProvider> mock = new Mock<IAuthProvider>(); mock.Setup(m => m.Authenticate("goodUser", "goodPass")).Returns(true); LogOnViewModel model = new LogOnViewModel { UserName = "******", Password = "******", }; AccountController controller = new AccountController(mock.Object); // Act ActionResult result = controller.LogOn(model, "/MyUrl"); // Assert Assert.IsInstanceOfType(result, typeof(RedirectResult)); Assert.AreEqual("/MyUrl", ((RedirectResult)result).Url); }
public void Cannot_Login_With_Invalid_Credentials() { // Arrange Mock<IAuthProvider> mock = new Mock<IAuthProvider>(); mock.Setup(m => m.Authenticate("badUser", "badPass")).Returns(false); LogOnViewModel model = new LogOnViewModel { UserName = "******", Password = "******", }; AccountController controller = new AccountController(mock.Object); // Act ActionResult result = controller.LogOn(model, "/MyUrl"); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); Assert.IsFalse(((ViewResult)result).ViewData.ModelState.IsValid); }