public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) //Обработка запроса на авторизацию { if (!ModelState.IsValid) { return View(model); } IUsersContext usersContext = new UsersContext(); if (usersContext.ValidateUser(model.Login, model.Password)) { Session["login"] = model.Login.ToLower(); Session["isAuth"] = true; int a = Session.Timeout; if (Url.IsLocalUrl(returnUrl)) { return Redirect(returnUrl); } else { return RedirectToAction("Index", "Home"); } } else return View(model); }
public async Task<ActionResult> Login(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 async Task<ActionResult> Login(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 async Task<ActionResult> Register(RegisterViewModel model) //Обработка данных с формы регистрации { if (ModelState.IsValid) { var user = new User { e_mail = model.Email, login = model.Login, password = model.Password }; IUsersContext usersContext = new UsersContext(); LoginViewModel _model = new LoginViewModel(); _model.Login = model.Login; _model.Password = model.Password; if (usersContext.CreateUser(user) != null) { await Login(_model, null); return RedirectToAction("Index", "Home"); } } // Появление этого сообщения означает наличие ошибки; повторное отображение формы return View(model); }