我正在使用下面的代码来测试ldap连接,但它失败了 'info':'无效的DN语法','desc':'无效的DN语法'}。
import ldap
AD_LDAP_URL = 'ldap://test.example.com'
username = 'User'
password = 'PassWord'
try:
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
l = ldap.initialize(AD_LDAP_URL)
l.simple_bind_s(username, password)
except ldap.NO_SUCH_OBJECT, e:
print "Auth error: No user "
except ldap.INVALID_CREDENTIALS, e:
print 'error'
except ldap.LDAPError, e:
print e
答案 0 :(得分:2)
这是因为您应该将用户的DN发送到bind方法(或simple_bind_s),而不仅仅是用户名。 有效DN的示例 - cn = user,dc = example,dc = com
P.S。您可以使用一些工具在LDAP中更轻松地导航(例如,jXplorer允许复制对象的DN)。