Ejemplo n.º 1
0
 public ActionResult Login(LoginViewModel model, string returnUrl)
 {
     if (!ModelState.IsValid)
     {
         return View(model);
     }
     using (var unitOfWork = new UnitOfWork(new AuthorizationModuleFactory()))
     {
         var userService = new UserService(unitOfWork);
         if (userService.IsLoginValid(model.Login, model.Password))
         {
             FormsAuthentication.RedirectFromLoginPage(model.Login, model.RememberMe);
         }
         else
         {
             ModelState.AddModelError("", "Неудачная попытка входа.");
         }
     }
     if (!ModelState.IsValid)
     {
         return View(model);
     }
     return View();
     // Сбои при входе не приводят к блокированию учетной записи
     // Чтобы ошибки при вводе пароля инициировали блокирование учетной записи, замените на shouldLockout: true
     /*var result = await SignInManager.PasswordSignInAsync(model.Login, 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("", "Неудачная попытка входа.");
             return View(model);
     }*/
 }