Как включить SSL, аутентификацию Windows и анонимную аутентификацию через консоль
2 ответа
Аутентификация IIS и Windows не применяется, когда вы размещаете свой сервис с консольным приложением. Я использую приведенный ниже код включения HTTPS для моего сервера идентификации
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel(options =>
{
options.Listen(IPAddress.Any,44333, listenOptions =>
{
listenOptions.UseHttps("Path to SSL certificate","SSL Cert Password");
}
});
})
.UseStartup<Startup>()
.Build();
Я вижу, что вы используете.NET Core.
.NET Core размещается в Kestrel вместо обычного IIS и не поддерживает проверку подлинности Windows. Хотя вы можете использовать HTTP.sys, который является реализацией веб-сервера в.NET Core и поддерживает аутентификацию Windows.
Приведенный ниже код настраивает веб-хост приложения для использования HTTP.sys с аутентификацией Windows.
public class Program
{
public static void Main(string[] args) =>
BuildWebHost(args).Run();
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseHttpSys(options =>
{
options.Authentication.Schemes =
AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate;
options.Authentication.AllowAnonymous = false;
})
.Build();
}
статья, объясняющая этот код, находится здесь