public ActionResult TryLogin(AdministratorLoginViewModel model) { try { if (!ModelState.IsValid) { return(View("Login", model)); } Administrator administrator = null; using (IUnitOfWork uow = unitOfWorkFactory.Create(IsolationLevel.ReadCommitted)) { administrator = administratorService.TryLogin(model.Login, model.Password); // если пользователь успешно аутентифицирован if (administrator != null) { var administratorInfo = new UserInfo() { Id = administrator.Id, DisplayName = administrator.DisplayName, Login = administrator.Login, PasswordHash = administrator.PasswordHash }; UserSession.CurrentAdministratorInfo = administratorInfo; UserSession.AlreadyEntered = true; if (model.RememberMe == "1") { Cookies.Login = administrator.Login; Cookies.PasswordHash = administrator.PasswordHash; } else { Cookies.Login = ""; Cookies.PasswordHash = ""; } Cookies.SavePassword = (model.RememberMe == "1" ? true : false).ToString(); } // иначе чистим куки else { Cookies.SavePassword = false.ToString(); Cookies.Login = ""; Cookies.PasswordHash = ""; } return(Content("")); } } catch (Exception ex) { return(Content(ProcessException(ex))); } }
public ActionResult Login() { // аутентифицированному пользователю тут делать нечего if (UserSession.CurrentAdministratorInfo != null) { return(new RedirectResult("~/Administrator/Home")); } var model = new AdministratorLoginViewModel() { RememberMe = "0" }; return(View(model)); }