Как проверить пользователя Umbraco по электронной почте и войти в систему без использования стандартного поля входа - Umbraco 7.7.9 - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь реализовать функцию «Единый вход», когда пользователь входит на сайт, используя имя пользователя и пароль. Затем я хочу использовать эти учетные данные из локального токена и по запросу разрешить пользователю использовать другой проект, разработанный в Umbraco. Таким образом, если пользователь нажимает кнопку GetAccess на веб-сайте, он должен иметь возможность войти в систему и автоматически увидеть бэкэнд Umbraco без повторного входа в систему из стандартного окна входа Umbraco.

У меня есть веб-сайт, где пользователь входит в систему. Как только пользователь вошел в систему, я использую angularjs для передачи useremail из локального токена в Umbraco WebAPI. (это прекрасно работает)

API получает угловой запрос через $ Http.Post и метод валидации пользователя находят пользователя в Umbraco на бэкэнде, используя Umbraco.findByEmailAsync(loginModel.Username).

Если запись пользователя найдена и результатом является Успех, я использую var result = await signInManager.PasswordSignInAsync(user.UserName, loginModel.Password, isPersistent: true, shouldLockout: false);, чтобы всегда возвращать пароль.

, а затем я использую UmbracoContext.Security.PerformLogin(user.Id);, чтобы включить текущую регистрацию пользователя на бэкэнде без использования стандартного окна входа Umbraco. ** эта часть возвращается успешно, но кажется, что пользователь все еще не вошел в систему.

Я также устанавливаю пользовательские куки в браузере, используя FormsAuthentication.SetAuthCookie(user.UserName, true);

Затем я перенаправляю элемент управления на локальный URL-адрес umbraco http://localhost:57933/umbraco/#/login, чтобы увидеть, может ли пользователь видеть бэкэнд Umbraco, но вместо этого в браузере я получаю стандартное окно входа Umbraco. Кажется, что пользователь вообще не вошел в систему.

Понятия не имею, чего не хватает и какую функцию я должен вызывать ...

Примечание: я использую класс UmbracoCustomOwinStartup, как рекомендовано в посте. https://our.umbraco.com/forum/extending-umbraco-and-using-the-api/85076-detect-backoffice-user-login-and-logout

...