У меня простой сценарий.Существует веб-служба ASP NET MyWebService
, опубликованная на IIS 7 на server
машине в MyAppPool
пуле приложений, с проверкой подлинности Windows, провайдеры Negotiate
и NTLM
(в этом порядке).Там клиентское приложение, запущенное на client
машине.Обе машины (сервер и клиент) находятся в одном domain
.
В ApiController
есть метод, оформленный AuthorizeAttribute
с указаннымGroup
имя.Клиентское приложение, использующее HttpClient
для отправки запросов, UseDefaultCredentials
, установленное на true
, клиент для входа в систему как пользователь из указанной группы.
Когда MyAppPool
удостоверение личности ApplicationPoolIdentity
или LocalSystem
(илидругая встроенная учетная запись) или любая учетная запись домена, все это работает.Запрос приходит на сервер от имени входа клиента.Я хочу использовать локальную учетную запись сервера с определенными разрешениями (по соображениям безопасности) в качестве идентификатора MyAppPool
, но в этом случае клиент получает ошибку 401 Unauthorized
.Из логов сервера я вижу, какие запросы приходят анонимно.Все различия в идентичности пула приложений, все остальные настройки такие же.Я пытался создать SPN, но он не может найти локальную учетную запись сервера.
Есть ли способ решить эту проблему для локальной учетной записи сервера?