Олицетворение в 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, чтобы он использовал ту же учетную запись пользователя для всех запросов.