使用 python Django 的 Ldap 连接测试
Ldap connection test using python Django
我正在使用下面的代码来测试 ldap 连接,但是它失败了
'info':'Invalid DN syntax','desc':'Invalid DN syntax'}。
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
发生这种情况是因为您应该将用户的 DN 发送到绑定方法(或 simple_bind_s),而不仅仅是用户名。
有效 DN 的示例 - cn=user,dc=example,dc=com
P.S。您可以使用一些工具来更轻松地在 LDAP 中导航(例如 jXplorer 允许复制对象的 DN)。
我正在使用下面的代码来测试 ldap 连接,但是它失败了 'info':'Invalid DN syntax','desc':'Invalid DN syntax'}。
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
发生这种情况是因为您应该将用户的 DN 发送到绑定方法(或 simple_bind_s),而不仅仅是用户名。 有效 DN 的示例 - cn=user,dc=example,dc=com
P.S。您可以使用一些工具来更轻松地在 LDAP 中导航(例如 jXplorer 允许复制对象的 DN)。