Я пытаюсь использовать олицетворение и делегирование в веб-приложении intranet ASP.Net, чтобы передавать учетные данные аутентифицированных пользователей на SQL Server.
Веб-сервер и SQL-сервер - это две отдельные машины, но в том же домене, поэтому требуется делегирование.
Я сделал следующее:
- установите
<authentication mode="Windows"/>
и<identity impersonate="true"/>
в моем веб-приложении web.config. - Включено Ограниченное делегирование с веб-сервера на службу MSSQLSvc на SQL Server в Active Directory.
- включил только проверку подлинности Windows на веб-сайте через IIS.
По-видимому, все это должно работать, но это не так (SQL Server отказывает в доступе к анонимному пользователю - "Ошибка входа для пользователя" NT AUTHORITY\ANONYMOUS LOGON ").
В IIS7 пул приложений настроен на использование Integrated Pipleline Mode и работает с Identity NetworkService. На веб-сайте включена только проверка подлинности Windows, расширенная защита отключена, включена проверка подлинности в режиме ядра, а NTLM - провайдер.
Все прочитанные веб-страницы, похоже, указывают на то, что моя настройка должна работать. Что мне не хватает?