ASP.NET отключить авторизацию в зависимости от хоста - PullRequest
0 голосов
/ 07 июня 2018

У меня есть приложение ASP.NET Core, и я украсил свой контроллер / действия атрибутом Authorize.В Startup.cs я определил аутентификацию следующим образом:

services.AddAuthentication(Microsoft.AspNetCore.Server.IISIntegration.IISDefaults.AuthenticationScheme);

Когда я запускаю свое приложение в IIS или IIS Express, авторизация работает.Тем не менее, я хочу отключить авторизацию при запуске на хостах, которые не поддерживают аутентификацию Windows, таких как консольное приложение.

Я думал сделать это:

services.AddMvc(options =>
{
     if (!isWindowsAuthenticationSupported)
        options.Filters.Add(new AllowAnonymousFilter());
});

Если это правильный подходКак установить переменную isWindowsAuthenticationSupported?

1 Ответ

0 голосов
/ 22 июня 2018

Вот код, чтобы определить, поддерживается ли аутентификация Windows:

string iisHttpAuth = Environment.GetEnvironmentVariable("ASPNETCORE_IIS_HTTPAUTH");
bool isWindowsAuthenticationSupported = false;
if (iisHttpAuth != null && iisHttpAuth.ToLowerInvariant().StartsWith("windows"))
    isWindowsAuthenticationSupported = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...