Esempio n. 1
0
 public ActionResult LogOn(LogOnModel model, string returnUrl)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (MembershipService.ValidateUser(model.UserName, model.Password))
             {
                 FormsService.SignIn(model.UserName, model.RememberMe);
                 if (!String.IsNullOrEmpty(returnUrl))
                 {
                     return Redirect(returnUrl);
                 }
                 else
                 {
                     return RedirectToAction("Index", "Home");
                 }
             }
             else
             {
                 ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно.");
             }
         }
     }
     catch
     {
         return View(model);
     }
     // Появление этого сообщения означает наличие ошибки; повторное отображение формы
     return View(model);
 }
Esempio n. 2
0
        public void LogOn_Post_ReturnsViewIfValidateUserFails()
        {
            // Упорядочение
            AccountController controller = GetAccountController();
            LogOnModel model = new LogOnModel()
            {
                UserName = "******",
                Password = "******",
                RememberMe = false
            };

            // Действие
            ActionResult result = controller.LogOn(model, null);

            // Утверждение
            Assert.IsInstanceOfType(result, typeof(ViewResult));
            ViewResult viewResult = (ViewResult)result;
            Assert.AreEqual(model, viewResult.ViewData.Model);
            Assert.AreEqual("Имя пользователя или пароль указаны неверно.", controller.ModelState[""].Errors[0].ErrorMessage);
        }
Esempio n. 3
0
        public void LogOn_Post_ReturnsViewIfModelStateIsInvalid()
        {
            // Упорядочение
            AccountController controller = GetAccountController();
            LogOnModel model = new LogOnModel()
            {
                UserName = "******",
                Password = "******",
                RememberMe = false
            };
            controller.ModelState.AddModelError("", "Заглушка сообщения об ошибке.");

            // Действие
            ActionResult result = controller.LogOn(model, null);

            // Утверждение
            Assert.IsInstanceOfType(result, typeof(ViewResult));
            ViewResult viewResult = (ViewResult)result;
            Assert.AreEqual(model, viewResult.ViewData.Model);
        }
Esempio n. 4
0
        public void LogOn_Post_ReturnsRedirectOnSuccess_WithReturnUrl()
        {
            // Упорядочение
            AccountController controller = GetAccountController();
            LogOnModel model = new LogOnModel()
            {
                UserName = "******",
                Password = "******",
                RememberMe = false
            };

            // Действие
            ActionResult result = controller.LogOn(model, "/someUrl");

            // Утверждение
            Assert.IsInstanceOfType(result, typeof(RedirectResult));
            RedirectResult redirectResult = (RedirectResult)result;
            Assert.AreEqual("/someUrl", redirectResult.Url);
            Assert.IsTrue(((MockFormsAuthenticationService)controller.FormsService).SignIn_WasCalled);
        }