Служба WCF и ActiveDirectory - PullRequest
       8

Служба WCF и ActiveDirectory

1 голос
/ 28 ноября 2009

Я использую вызов WCF, чтобы обновить мою базу данных с любыми изменениями из ActiveDirectory. Я вызываю эту функцию WCF через клиентский браузер, и функция пытается получить информацию из AD внутри самого сервива. Однако проблема в том, что для получения любых записей AD нужны имя пользователя и пароль.

Посоветуйте, пожалуйста, как я могу преодолеть эту проблему, чтобы Windows, предоставленная в учетных данных, автоматически принималась и AD читалась.

Я использую wsHttPBinding, Security: message и clientCredentials = "Windows".

Спасибо

Викрам

1 Ответ

2 голосов
/ 28 ноября 2009

Звонок в Active Directory идет из сервиса.

Значения по умолчанию для службы - impersonate = false, а идентификатор пула приложений - NETWORK SERVICE.

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

Есть 3 способа это исправить.

  • Установите Authenticate = true в web.config, чтобы разрешить доступ к AD в контексте безопасности вызывающего пользователя.
  • Измените удостоверение пула приложений на имя пользователя домена, которому разрешен доступ к AD. Обязательно добавьте этого пользователя в локальную группу IIS_WPG.
  • Сохраните имя пользователя и пароль пользователя, которому разрешен доступ к AD, в файле web.config и используйте эти учетные данные для доступа к AD.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...