[HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task Login(LoginViewModel model, string returnUrl) { /* if (!ModelState.IsValid) { return View(model); } */ // Nie powoduje to liczenia niepowodzeń logowania w celu zablokowania konta // Aby włączyć wyzwalanie blokady konta po określonej liczbie niepomyślnych prób wprowadzenia hasła, zmień ustawienie na shouldLockout: true var user = await UserManager.FindByEmailAsync(model.Email); var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); var roles=await UserManager.GetRolesAsync(user.Id); switch (result) { case SignInStatus.Success: if (user.FieldInformation == false) { if (roles.Contains("PersonalTrainer")) { return RedirectToAction("Create", "PersonalTrainer", new { id = user.Id }); } if (roles.Contains("Athlete")) { return RedirectToAction("Create", "Athlete", new { id = user.Id }); } } 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("", "Nieprawidłowa próba logowania."); return View(model); } }