Невозможно изменить «путь доступа запрещен» при использовании проверки подлинности Azure AD без удостоверения - PullRequest
1 голос
/ 09 апреля 2019

Я не могу изменить путь по умолчанию «отказано в доступе» Account/AccessDenied при использовании аутентификации Azure AD. Какие настройки мне нужно настроить, чтобы переопределить это? Я просмотрел несколько статей, включая this , но пока безуспешно.

Мой текущий startup.cs код выглядит так -

services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
                .AddAzureAD(options => Configuration.Bind("AzureAd", options))
                .AddCookie(options =>
                {
                    options.AccessDeniedPath = "/Error/AccessDenied";
                    options.Events = new CookieAuthenticationEvents
                    {
                        OnRedirectToAccessDenied = ctx =>
                          {
                              var requestPath = ctx.Request.Path;
                              if (requestPath.StartsWithSegments("/Account"))
                              {
                                  ctx.Response.Redirect("/Error/AccessDenied?ReturnUrl=" + requestPath + ctx.Request.QueryString);
                              }
                              else
                              {
                                  ctx.Response.Redirect("/Login?ReturnUrl=" + requestPath + ctx.Request.QueryString);
                              }
                              return Task.CompletedTask;
                          }
                    };
                });

Это перенаправление не работает, и событие также не запускается. Я пытался установить параметры cookie с помощью services.ConfigureApplicationCookie, но это тоже не работает (документация говорит, что это в любом случае для модуля идентификации).

Чего мне не хватает? Мой проект asp.net использует .net core 2.2, и его шаблон был сгенерирован из шаблона Visual Studio.

...