Веб-приложение ASP.NET, пытающееся использовать Олицетворение и Делегацию для соединения с SQL Server

Я пытаюсь использовать Олицетворение и Делегацию в веб-приложении 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'").

В IIS7 Пул приложений установлен использовать Интегрированный Режим Pipleline и работает с Идентификационными данными NetworkService. Веб-сайту только включили аутентификацию Windows, Расширенная Защита Выключена аутентификация Привилегированного режима включена, и NTLM является поставщиком.

Все веб-страницы, которые я считал, кажется, указывают, что моя установка должна работать. Что я пропускаю?

15
задан Graham Clark 20 January 2010 в 12:15
поделиться

1 ответ

Я обнаружил ответ:

Поставщик аутентификации Windows в IIS7 должен быть установлен на Purging: Kerberos , а не NTLM. Это означает, что настройка аутентификации режима ядра должна быть отключена. Похоже, это все в порядке. Я думаю, что я правю, что аутентификация режима ядра требуется при использовании пользовательской идентичности, то есть одна конкретная идентичность. Делегация может использовать произвольное количество идентичностей. Так что все хорошо.

Я написал сообщение в блоге , который также более подробно рассмотрится.

16
ответ дан 1 December 2019 в 04:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: