Подтвердить что ты не робот

Сила Windows Challege

У меня есть AuthorizationProvider, который должен использовать как анонимные, так и Windows, и я не могу заставить их работать, используя:

if (principal == null || principal.Identity == null || string.IsNullOrWhiteSpace(principal.Identity.Name))
            {
                context.OwinContext.Authentication.Challenge();
                return Task.FromResult(0);
            }

Есть ли какие-либо другие значения конфигурации, которые мне нужно установить, чтобы эта строка работала?: context.OwinContext.Authentication.Challenge();

Любые мысли, почему это не сработает? Мне нужно иметь доступ к главному окну, который отлично работает с включенными окнами, но также должен включать анонимность, чтобы иметь возможность удалять другие конечные точки в провайдере.

4b9b3361

Ответ 1

Короче говоря, вы должны включить проверку подлинности Windows на своем веб-узле. Существуют различные настройки, в зависимости от используемого веб-хоста.

После настройки веб-хоста ваш код контроллера начинает работать.

автономный хост OWIN

Настроить HttpListener, чтобы принять оба режима аутентификации в OWIN Startup class:

class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var listener = (HttpListener)app.Properties["System.Net.HttpListener"];

        listener.AuthenticationSchemes = 
            AuthenticationSchemes.IntegratedWindowsAuthentication |
            AuthenticationSchemes.Anonymous;

        // Other initialization
    }
}

IIS

Если вы размещаете свое приложение в IIS, вы должны включить режим проверки подлинности Windows в настройках веб-сайта IIS для своего приложения:

введите описание изображения здесь введите описание изображения здесь

Если вы не видите значок аутентификации или режим проверки подлинности Windows, установите следующие функции Windows:

введите описание изображения здесь

Отладка Visual Studio Web (IIS Express)

Наконец, для удобства веб-отладки из Visual Studio вы можете включить проверку подлинности Windows в своих свойствах проекта. Откройте Solution explorer и выберите свой проект:

введите описание изображения здесь

Затем откройте вкладку "Свойства" и установите как анонимную, так и аутентификацию Windows:

введите описание изображения здесь

Для получения дополнительной информации вы можете проверить эту статью.