Олицетворение в asp.net, запутанное в имплментации при использовании с Active Directory и Sql Server

У меня есть внутренний веб-сайт, который использует встроенную проверку подлинности Windows, и этот веб-сайт использует SQL Server и запросы активных каталогов через System.Directory.Services Пространство имен.

Чтобы использовать System.Directory.Services Пространство имен в ASP.NET Я должен запустить IIS под учетной записью, которая имеет правильные привилегии и, что важно, для олицетворения, установленного на true в веб-конфигурации. Если это будет сделано, то когда я сделаю запрос к AD, вместо учетной записи ASPNET будут использованы учетные данные процесса wroker (IIS), и поэтому запросы теперь будут выполнены успешно.

Теперь, если я также использую Sql Server со строкой подключения, настроенной для интегрированной безопасности ('Integrated Security=SSPI') тогда это интерпретирует олицетворение ASP.NET как означающее, что я хочу получить доступ к базе данных как учетные данные Windows веб-запроса, а не рабочий процесс.

Я надеюсь, что я ошибаюсь, и что у меня неправильная конфигурация, но я не думаю, что у меня есть, и это, кажется, не противоречит?

Следует отметить, что я использую IIS 5.1 для разработки, и, разумеется, здесь нет концепции пулов приложений, которые, как я считаю, могли бы решить проблему.

1 ответ

Решение

Следуя документации, если вы хотите выдать себя за пользователя SPECIFIC, вы должны поместить имя пользователя и пароль в файл web.config, чтобы он использовал ту же учетную запись пользователя для всех запросов.

Другие вопросы по тегам