Проверка подлинности Windows для Kestrel, размещенного в службе Windows - PullRequest
0 голосов
/ 19 декабря 2018

Я запускаю приложение ASP.NET Core, размещенное в службе Windows, как описано здесь:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1

Мне нужно это приложение для поддержки проверки подлинности Windows.Какие у меня варианты?Я пытался использовать модуль Application Request Routing / URL Rewrite в IIS в качестве обратного прокси-сервера с аутентификацией Windows, но не смог понять, как это сделать.Любое руководство будет оценено.

1 Ответ

0 голосов
/ 19 декабря 2018

У Microsoft есть целая статья о Аутентификации Windows в ASP.NET Core , включая раздел , описывающий, как это сделать без IIS .Kestrel не поддерживает аутентификацию Windows, поэтому вы должны хостить с HTTP.sys.Поначалу это выглядит просто (в вашем Program.cs):

.UseHttpSys(options =>
{
    options.Authentication.Schemes = 
        AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate;
    options.Authentication.AllowAnonymous = false;
})

Пока вы не поймете, что есть целая другая статья о хостинге в HTTP.sys , так что вы можете найти некоторые другиепричины, по которым он может что-то сломать.

Может быть проще разместить его в IIS (вместо службы Windows) и разрешить IIS обрабатывать проверку подлинности Windows .

Существует ли причина, по которой вы решили разместить в службе Windows в первую очередь?

...