2015-05-13 33 views
2

我正在使用下面的代碼來測試ldap連接,但因 'info':'無效的DN語法','desc':'無效的DN語法}而失敗。使用python進行Ldap連接測試Django

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 

回答

1

這是因爲你應該送DN用戶的綁定方法(或simple_bind_s),而不僅僅是用戶名。 有效DN的示例 - cn = user,dc = example,dc = com

P.S.您可以使用一些工具輕鬆導航LDAP(例如,jXplorer允許複製對象的DN)。

+0

感謝您的輸入,我不得不修改代碼來發送用戶名DN,而不僅僅是用戶名來測試連接。 – tempuser