Wie man einen Benutzer mit ldap3 in python3 bindet (authentifiziert)

8

Ich versuche, Code auf python3 zu aktualisieren, indem ich ldap3 Version '0.9.7.4' verwende . ( Ссылка )

Bisher habe ich python-ldap mit python2 benutzt, um einen Benutzer wie folgt zu authentifizieren:

%Vor%

Dies gibt (97, [], 2, []) korrektes Passwort korrekt zurück und erhöht ldap.INVALID_CREDENTIALS bei einem Bind-Versuch mit einem falschen Passwort.

Mit ldap3 in python3 mache ich folgendes:

%Vor%

Es wird die folgende Ausnahme ausgelöst:

%Vor%

Ich verwende den Wert user_dn , der von python2s ldap-Suche zurückgegeben wird, da dies in python2 zu funktionieren scheint.

Wie kann ich das richtig binden mit ldap3 in python3?

( Eine seltsame Sache, die ich bemerkt habe, ist, dass das LDAPInvalidCredentialsResult von LDAP3 'description': 'success' enthält. Ich vermute, das bedeutet nur, dass die Antwort erfolgreich empfangen wurde ... )

    
monkut 18.02.2015, 03:17
quelle

1 Antwort

12

Ich bin der Autor von ldap3, bitte setze raise_exceptions=False in der Verbindungsdefinition und überprüfe die connection.result nach der Bindung. Sie sollten den Grund bekommen, warum Ihre bind() nicht erfolgreich ist.

    
cannatag 19.02.2015 20:42
quelle

Tags und Links