ich den folgenden Code haben:So lesen Sie Active Directory-Gruppenmitgliedschaft von PHP/IIS mit COM?
$bind = new COM("LDAP://CN=GroupName,OU=Groups,OU=Division,DC=company,DC=local");
Wenn ich es von einer Eingabeaufforderung ausführen, läuft es gut. Wenn es unter IIS/PHP/ISAPI ausgeführt wird, rastet es ein.
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 wird für Windows-Authentifizierung (nicht anonym, nicht einfach, kein digest) konfiguriert und ich als der Benutzer, wie die Eingabeaufforderung zu verbinden. Ich kann keine spezifischen Fehler in den IIS-Protokolldateien oder im Ereignisprotokoll finden.
Der Hauptzweck dieser Übung besteht darin, keine Benutzeranmeldeinformationen in meinem Skript beizubehalten und sich auf die IIS-Authentifizierung zu verlassen, um sie an das aktive Verzeichnis weiterzuleiten. Ich verstehe, dass Sie LDAP verwenden können, um dasselbe zu erreichen, aber soweit ich weiß, können Anmeldeinformationen nicht weitergegeben werden.
Vielleicht ist es in irgendeiner Weise mit dem Fehler verbunden, den ich bekomme, wenn ich versuche, es nach ASP zu portieren. Ich erhalte den Fehler 80072020 (den ich gerade suche).
Die Ereignisprotokolle zeigen nichts Außergewöhnliches. Keine Warnungen, keine Fehler. Die vollständige Sicherheitsüberwachung ist aktiviert (Erfolg und Fehlschlag für jedes Element in der Sicherheitsrichtlinie) und zeigt erfolgreiche Windows-Anmeldungen für jeden Benutzer, der sich für die Webseite authentifiziert (was erwartet wird).
Das IUSR-Konto wird in diesem Szenario nicht verwendet. Tatsächlich kann ich eine Verbindung zu einer Datenbank herstellen und die Anmeldeinformationen (odbc_connect in PHP) weitergeben, so dass ich Beweise dafür habe, dass der Authentifizierungsteil funktioniert. – Martin