Wie zu binden (Authentifizierung) ein Benutzername mit ldap3 in Python ist3

Ich bin versucht, zu aktualisieren, code zu Python ist3, mit ldap3 version 0.9.7.4'.
(https://pypi.python.org/pypi/ldap3)

Zuvor, früher habe ich python-ldap mit python2 um einen Benutzer zu authentifizieren, wie diese:

import ldap
address = "ldap://HOST:389"
con = ldap.initialize(address)
base_dn = "ourDN=jjj"
con.protocol_version = ldap.VERSION3
search_filter = "(uid=USERNAME)"
result = con.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, None)  
user_dn = result[0][0]  # get the user DN
con.simple_bind_s(user_dn, "PASSWORD")

Diese ordnungsgemäß zurück (97, [], 2, []) auf richtige Kennwort ein, und wirft ldap.INVALID_CREDENTIALS auf ein bind-Versuch mit einem falschen Passwort.

Mit ldap3 in Python ist3 mache ich Folgendes:

from ldap3 import Server, Connection, AUTH_SIMPLE, STRATEGY_SYNC, ALL
s = Server(HOST, port=389, get_info=ALL)
c = Connection(s, authentication=AUTH_SIMPLE, user=user_dn, password=PASSWORD, check_names=True, lazy=False, client_strategy=STRATEGY_SYNC, raise_exceptions=True)
c.open()
c.bind()

Es ist die Erhöhung der folgenden Ausnahme:

ldap3.core.exceptions.LDAPInvalidCredentialsResult: LDAPInvalidCredentialsResult - 49 - invalidCredentials - [{'dn': '', 'message': '', 'type': 'bindResponse', 'result': 0, 'saslCreds': 'None', 'description': 'success', 'referrals': None}]

Ich bin mit der user_dn Rückgabewert von python2 ldap-Suche, da dies scheint die Arbeit in python2.

Wie kann ich diese zu binden richtig mit ldap3 in Python ist3?

(Eine seltsame Sache, die ich bemerkte, ist, dass die ldap3 ist LDAPInvalidCredentialsResult umfasst 'description': 'success'. Ich vermute, dies bedeutet nur, Antwort erfolgreich empfangen...)

  • Ok, getestet mit dem falschen Passwort und gefunden, dass die resultierende Ausnahme ist anders, ldap3.core.exceptions.LDAPInvalidCredentialsResult: LDAPInvalidCredentialsResult - 49 - invalidCredentials - None - None - bindResponse - None und nicht enthalten 'description': 'success' ... bug?
InformationsquelleAutor monkut | 2015-02-18
Schreibe einen Kommentar