Python-ldap kann nicht erfolgreich binden

8

Ich habe kein Glück, Antworten darauf zu finden, also hier geht es.

Wenn ich versuche, mit python-ldap eine Verbindung zu einem AD-Server herzustellen, scheint er für einige Funktionen erfolgreich zu sein, nicht für andere. Meine Verbindung:

%Vor%

Einige einfache Google-Suche zeigte, dass die 97 Erfolg bedeutet, obwohl das Niveau des Erfolgs ein wenig wackelig ist. Aber aus irgendeinem Grund kann ich nichts auf dem Status-Code 1 finden. Wenn ich einige LDAP-Funktionen auf der Verbindung ausführen, funktionieren einige von ihnen und einige nicht.

%Vor%

Scheint gut zu sein, aber

%Vor%

Ich bin ratlos, warum die Whoami funktionieren würden, aber die Suche würde nicht funktionieren. Ich benutze einen Domain-Admin für den Benutzer, also sollte er nichts mit Berechtigungen für das Verzeichnis zu tun haben. Kann jemand etwas Licht werfen?

    
Titus P 13.09.2013, 18:37
quelle

3 Antworten

11

Ich bekam genau den gleichen Fehler wie Sie, was ich tat, war diese Zeile (wie von Christopher vorgeschlagen), l.set_option (ldap.OPT_REFERRALS, 0), bevor Sie die Bindung, z. B.

%Vor%

Und danach hat meine Verbindung mit LDAP funktioniert.

    
Cas 13.12.2013, 19:02
quelle
4

Basierend auf dem oben genannten @Cas musste ich nur hinzufügen:

connection.set_option(ldap.OPT_REFERRALS,0)

Es sieht so aus, als wäre das ein so häufiges Problem, dass es zur python-ldap FAQ :

  

F: Mein Skript ist an MS Active Directory gebunden, aber ein Suchvorgang   führt zu einer Ausnahme ldap.OPERATIONS_ERROR mit der Diagnose   Nachrichtentext "Um diese Operation auszuführen, ist eine erfolgreiche Bindung erforderlich   muss auf der Verbindung abgeschlossen sein. ". Was ist hier los?

     

A: Bei der Suche von Domänenebene gibt MS AD Verweise zurück   (Suchfortsetzungen) für einige Objekte, die dem Client angezeigt werden sollen   wo man nach diesen Objekten sucht. Client-Verjagen von Empfehlungen ist a   kaputtes Konzept, da LDAPv3 nicht angibt, welche Anmeldeinformationen verwendet werden sollen   wenn Sie die Empfehlung verfolgen. Windows-Clients sollen das einfach nutzen   ihre Windows-Anmeldeinformationen, aber dies funktioniert im Allgemeinen nicht wann   Jagen von Verweisen, die von einem beliebigen LDAP empfangen wurden und auf dieses verweisen   Server. Standardmäßig verjagt libldap automatisch die   Verweise intern mit einem anonymen Zugriff, der mit MS AD fehlschlägt.   Am besten schalten Sie dieses Verhalten aus:

     

l = ldap.initialize ('ldap: // foobar')

     

l.set_option (ldap.OPT_REFERRALS, 0)

    
Blaskovicz 28.07.2015 20:57
quelle
0

Wenn Sie diesen Fehler bei der Verwendung von flask-simpleld erhalten, können Sie diesen oneliner verwenden:

%Vor%

Sehen Sie ein Beispiel hier .

    
Guido 23.11.2017 11:23
quelle