Есть ли способ перенаправить пользователя на пользовательскую страницу без авторизации? - PullRequest
0 голосов
/ 26 апреля 2019

Я ищу авторизацию на основе ролей с помощью Azure Ad.Я понимаю, по большей части, как создавать и назначать роли внутри манифеста проекта.Что меня интересует, так это как я могу перенаправить пользователя на пользовательскую страницу «Не авторизован», если у него нет прав на просмотр этой конкретной страницы и / или метода.Прямо сейчас все, что происходит, когда пользователь не авторизован, это то, что он перенаправляется на экран входа Microsoft и говорит: «Мы не можем войти в систему. Пожалуйста, попробуйте еще раз».

Я пробовал разные варианты вманифест проекта, но я не имел никакого успеха с этим.

Если пользователь не авторизован, я хочу перенаправить его на пользовательскую страницу "Не авторизован".

1 Ответ

0 голосов
/ 29 апреля 2019

Решением для этой проблемы является использование AuthenticationMode.Passive, чтобы он не перенаправлял на страницы входа AAD

Вам необходимо написать следующий код в файле Startup.Auth.cs

app.UseCookieAuthentication(new CookieAuthenticationOptions {
   LoginPath = new PathString("/Account/Login")
});

app.UseOpenIdConnectAuthentication(
   new OpenIdConnectAuthenticationOptions {
      ClientId = clientId,
      Authority = authority,
      PostLogoutRedirectUri = postLogoutRedirectUri,
      AuthenticationMode = AuthenticationMode.Passive
});

Это AuthenticationMode = AuthenticationMode.Passive, который останавливает OpenIdConnectAuth от автоматического перенаправления 302 на страницы входа в AAD.

Надеюсь, это поможет.

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