나는 다음과 같은 코드를 가지고 : 나는 명령 프롬프트에서 실행하면COM을 사용하여 PHP/IIS에서 Active Directory 그룹 구성원을 읽는 방법?
$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 로그온이 성공한 것으로 나타납니다 (예상 됨).
이 시나리오에서는 IUSR 계정이 사용되지 않습니다. 사실 데이터베이스에 연결할 수 있고 인증 정보 (PHP의 odbc_connect)를 통과하기 때문에 인증 부분이 작동하고 있다는 증거가 있습니다. – Martin