У меня есть следующий код:
$bind = new COM("LDAP://CN=GroupName,OU=Groups,OU=Division,DC=company,DC=local");
Когда я запускаю его из командной строки, он работает нормально. Когда он работает под IIS / PHP / ISAPI, он barfs.
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `LDAP://CN=...[cut]...,DC=local':
An operations error occurred. ' in index.php
Stack trace:
#0 index.php: com->com('LDAP://CN=...')
#1 {main} thrown
IIS настроен для проверки подлинности Windows (без анонимности, без базовых данных, без дайджеста), и я подключаюсь как тот же пользователь, что и в командной строке. Я не могу найти какие-либо конкретные ошибки в лог-файлах IIS или в журнале событий.
Основная цель этого упражнения - воздержаться от сохранения учетных данных пользователя в моем сценарии и использования аутентификации IIS для передачи их в активный каталог. Я понимаю, что вы можете использовать LDAP для выполнения той же задачи, но, насколько я знаю, учетные данные не могут быть переданы.
Возможно, это каким-то образом связано с ошибкой, которую я получаю при попытке перенести ее на ASP. Я получаю ошибку 80072020 (которую я сейчас ищу).
Журналы событий не показывают ничего необычного. Нет предупреждений, нет ошибок. Полный аудит безопасности включен (успех и неудача для каждого элемента в политике безопасности), и он показывает успешные входы в Windows для каждого пользователя, которого я аутентифицирую на веб-странице (что ожидается.)