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();
        }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 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);
        }