/// <summary> /// Метод авторизации пользователя /// </summary> /// <param name="loginUser">Объект данных из формы ввода</param> /// <returns>Объект ответа</returns> public async Task <DtoInterlayerIdentity> LoginAsync(DtoFormLoginUser loginUser) { var user = await _appUsers.GetAppUserByEmailAsync(loginUser.Mail); if (user == null) { return new DtoInterlayerIdentity { IsSuccess = false, Reason = "Такий емеіл не зараєстровано" } } ; if (user != null && user.Password != loginUser.Password) { return new DtoInterlayerIdentity { IsSuccess = false, Reason = "Введено не вірний пароль" } } ; else { CreateSession(user); return(new DtoInterlayerIdentity { IsSuccess = true, Reason = "{0}, вас успішно авторизовано!" }); } }
/// <summary> /// Обработчик авторизации пользователя /// </summary> /// <returns>В случае успеха переадресовывает в рабочую область</returns> public async Task <IActionResult> OnPostLogin(DtoFormLoginUser loginUser) { var answ = await _authManager.LoginAsync(loginUser); if (!answ.IsSuccess) { TempData["LoginNotification"] = answ.Reason; IdentityState = LOGIN; return(Page()); } else { TempData["Notification"] = string.Format ( format: answ.Reason, _userSession.User.Name ); return(RedirectToPage("/Index", new { area = "Workspace", hasNotify = true })); } }