Simple search util also as a demo for using LDAP URLs with custom extension
This commit is contained in:
42
Tests/search.py
Normal file
42
Tests/search.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
import sys,pprint,ldap
|
||||||
|
|
||||||
|
from ldap.ldapobject import LDAPObject
|
||||||
|
from ldapurl import LDAPUrl
|
||||||
|
|
||||||
|
class MyLDAPUrl(LDAPUrl):
|
||||||
|
attr2extype = {
|
||||||
|
'who':'bindname',
|
||||||
|
'cred':'X-BINDPW',
|
||||||
|
'start_tls':'startTLS',
|
||||||
|
'trace_level':'trace',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ldap_url = MyLDAPUrl(sys.argv[1])
|
||||||
|
trace_level = int(ldap_url.trace_level or '0')
|
||||||
|
|
||||||
|
print '***trace_level',trace_level
|
||||||
|
|
||||||
|
ldap.trace_level = trace_level
|
||||||
|
|
||||||
|
l = LDAPObject(
|
||||||
|
ldap_url.initializeUrl(),
|
||||||
|
trace_level=trace_level,
|
||||||
|
)
|
||||||
|
|
||||||
|
l.protocol_version = 3
|
||||||
|
l.set_option(ldap.OPT_REFERRALS,0)
|
||||||
|
l.simple_bind_s((ldap_url.who or ''),(ldap_url.cred or ''))
|
||||||
|
|
||||||
|
result = l.search_s(
|
||||||
|
ldap_url.dn,
|
||||||
|
ldap_url.scope or ldap.SCOPE_SUBTREE,
|
||||||
|
ldap_url.filterstr or '(objectClass=*)',
|
||||||
|
ldap_url.attrs or ['*']
|
||||||
|
)
|
||||||
|
|
||||||
|
pprint.pprint(result)
|
||||||
|
|
||||||
|
print '***DIAGNOSTIC_MESSAGE',repr(l.get_option(ldap.OPT_DIAGNOSTIC_MESSAGE))
|
||||||
|
|
||||||
|
l.unbind_s()
|
||||||
Reference in New Issue
Block a user