Я создаю приложение AspNetCore webapi для внутреннего корпоративного использования, и мне нужно включить проверку подлинности Windows.
Итак, я создаю сервер httpsys для прослушивания на определенной конечной точке:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseHttpSys(options =>
{
options.Authentication.Schemes =
AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate;
options.Authentication.AllowAnonymous = true;
options.UrlPrefixes.Add("http://localhost:16000");
}).UseUrls("http://localhost:16000");
так что, хотя это, очевидно, работает нормально, я хочу иметь возможность настроить его в файле конфигурации.
Ранее в проекте я использовал Kestrel, поэтому я просто добавил эти настройки в конфигурацию приложения:
"Kestrel": {
"EndPoints": {
"HttpsInlineCertStore": {
"Url": "https://*:16000",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "LocalMachine",
"AllowInvalid": "true"
}
} ...
Теперь я прекрасно понимаю, что HttpSYS можно настроить с помощью реестра и т. Д., Поэтому я не заинтересован в таких ответах.
Мой конкретный вопрос: возможно ли для приложения веб-API NetCoreApi использовать IConfiguration внутри (статического) метода CreateWebHostBuilder?
Я внедряю IConfiguration в класс запуска, но похоже, что ограничение находится в структуре, препятствующей доступу к нему в методе CreateWebHostBuilder. Я что-то пропустил?