2016-03-29 24 views
0

bilinmemektedir:LDAP kimliği yolu İşte benim çalışma python komut

#!/usr/bin/python 

import ldap, sys 

l = ldap.initialize('ldap://myldapserver:389') 
username = "uid=%s,OU=folder1,OU=myCompany,O=MyCompanyGroup" % "myID" 
password = "mypassword" 
try: 
    l.protocol_version = ldap.VERSION3 
    l.simple_bind_s(username, password) 
    valid = True 
    print "OK" 
    l.unbind() 
except Exception, error: 
    print error 

Şimdi sadece sadece "O = MyCompanyGroup" belirterek ve bu alt ağacın üzerinde uid ararken, kullanıcıyı bağlamak istiyorum. Mesela ben

username = "(&(objectClass=inetOrgPerson)(uid=%s)(O=MyCompanyGroup))" % "myID" 

çalıştı " inetOrgPerson"

dayanan ama Geçersiz kimlik bilgilerini almak filtre uygulayıp edebilirsiniz.

Teşekkürler! Riccardo

cevap

0

çözeltisini

#!/usr/bin/python 

import ldap, sys 

l = ldap.initialize('ldap://myldapserver:389') 
search_filter = "(&(uid=myID)(objectClass=inetOrgPerson))" 
base_dn="O=MyCompanyGroup" 
password = "mypassword" 
try: 
    l.protocol_version = ldap.VERSION3 
    result = l.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, None) 
    user_dn = result[0][0] 
    print user_dn 
    l.simple_bind_s(user_dn, password) 
    valid = True 
    print "OK" 
    l.unbind() 
except Exception, error: 
    print error 
Bulunan