Выйти не работает, если развернуто в IIS как веб-приложение - PullRequest
0 голосов
/ 30 апреля 2020

Доброе утро. У нас есть asp. net core 2.1 с приложением Angular. Мы используем asp. net личность. Для выхода из системы мы используем await HttpContext.SignOutAsyn c (); Он отлично работает при запуске приложения в Visual Studio и развертывании на веб-сайте root, но если мы развернем веб-приложение внутри веб-сайта в IIS, выход из системы не будет работать вообще. Я предположил, что SignOutAsyn c удалил всю информацию на стороне сервера, поэтому даже если файлы cookie не были изменены, сервер отклонит любой будущий запрос, но, похоже, это не так. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Вы используете Asp. net Core Identity, поэтому внутри билета аутентификации в .AspNetCore.Identity.Application cook ie вы можете попытаться удалить cook ie по заданной схеме c:

await HttpContext.SignOutAsync(IdentityConstants.ApplicationScheme);

Но лучше использовать SignInManager.SignOutAsync(), который удалит ниже файлы cookie:

await Context.SignOutAsync(IdentityConstants.ApplicationScheme);
await Context.SignOutAsync(IdentityConstants.ExternalScheme);
await Context.SignOutAsync(IdentityConstants.TwoFactorUserIdScheme);
0 голосов
/ 30 апреля 2020

Кажется, решено. Использование await _signInManager .SignOutAsyn c (); работает нормально.

Я не знаю разницы относительно использования HttpContext.SignOutAsyn c ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...