Заставить Http.sys работать с проверкой подлинности Windows

Я пытаюсь заставить Windows-аутентификацию работать с Kestrel по ссылкам:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/httpsys?view=aspnetcore-3.0 https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.0&tabs=visual-studio#httpsys

Вот код.

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseHttpSys(options =>
                {
                    options.AllowSynchronousIO = true;
                    options.Authentication.Schemes = AuthenticationSchemes.None;
                    options.Authentication.AllowAnonymous = true;
                    options.MaxConnections = null;
                    options.MaxRequestBodySize = 30000000;
                    options.UrlPrefixes.Add("https://localhost:8080");
                });
                webBuilder.UseStartup<Startup>()
                    .UseHttpSys(options =>
                    {
                        options.Authentication.Schemes =
                            AuthenticationSchemes.NTLM |
                            AuthenticationSchemes.Negotiate;
                        options.Authentication.AllowAnonymous = false;
                    });
            });

Однако при просмотре https://localhost:8080/ отображается следующее сообщение об ошибке (Edge)?

Невозможно безопасно подключиться к этой странице. Это может быть связано с тем, что на сайте используются устаревшие или небезопасные настройки безопасности TLS. Если это повторяется, попробуйте связаться с владельцем сайта.

1 ответ

It's because you didn't have development certification installed on your machine. try this:

dotnet dev-certs https --trust
Другие вопросы по тегам