public async Task <ActionResult> Login(AccountViewModel.LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // Сбои при входе не приводят к блокированию учетной записи // Чтобы ошибки при вводе пароля инициировали блокирование учетной записи, замените на shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, 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)); } }
public User LoginUser(AccountViewModel.LoginViewModel login) { string hashPassword = PasswordHelper.EncodePasswordMd5(login.Password); string email = FixText.FixEmail(login.Email); return(_context.Users.SingleOrDefault(u => u.Email == email && u.Password == hashPassword)); }
public async Task <ActionResult> Login(AccountViewModel.LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, 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("", "Invalid login attempt."); return(View(model)); } }
public IActionResult Login(AccountViewModel.LoginViewModel login, string ReturnUrl = "/") { if (!ModelState.IsValid) { return(View(login)); } var user = _userService.LoginUser(login); if (user != null) { if (user.IsActive) { var claims = new List <Claim>() { new Claim(ClaimTypes.NameIdentifier, user.UserId.ToString()), new Claim(ClaimTypes.Name, user.UserName) }; var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(identity); var properties = new AuthenticationProperties { IsPersistent = login.RememberMe }; HttpContext.SignInAsync(principal, properties); ViewBag.IsSuccess = true; if (ReturnUrl != "/") { return(Redirect(ReturnUrl)); } return(Redirect("/")); } else { ModelState.AddModelError("Email", " حساب کاربری شما فعال نمیباشد "); } } ModelState.AddModelError("Email", "کاربری با مشخصات وارد شده یافت نشد "); return(View(login)); }