当前位置: 代码迷 >> 综合 >> python-ldap 实例
  详细解决方案

python-ldap 实例

热度:91   发布时间:2023-12-22 01:51:05.0

ldapsearch -h 172.16.6.77 -p 389 -b "cn=Users,dc=demo,dc=com" -D 'test@demo.com' -W


-h 主机地址
-p 端口号(默认389)
-x 简单授权(不使用SASL)
-b BaseDN 指定从这个DN开始搜索
-D BindDN 这里就是邦定的用户帐号,用谁的身份来执行这次搜索
-w 显式输入密码
-W 隐式输入密码


#coding=utf-8import sys, ldap
import ldap.dnLDAP_HOST = '172.16.6.77'#for which user to login
MGR_CRED = 'cn=Administrator,cn=Users,dc=demo,dc=com'
MGR_PASSWD = '******'class LDAPMgmt:def __init__(self, ldap_host=None, ldap_base_dn=None, mgr_cred=None,mgr_passwd=None):if not ldap_host:ldap_host = LDAP_HOSTif not mgr_cred:mgr_cred = MGR_CREDif not mgr_passwd:mgr_passwd = MGR_PASSWDself.ldapconn = ldap.open(ldap_host)self.ldapconn.simple_bind(mgr_cred, mgr_passwd)def list(self, base_dn,filterstr='(objectClass=*)',attrib=None,scope=ldap.SCOPE_SUBTREE):s = self.ldapconn.search_s(base_dn, scope,filterstr,attrlist=attrib)       for item in s:attrib_dict0 = item[0]attrib_dict1 = item[1]print "dn is : %s "%(attrib_dict0)print "attrib is : %s"%attrib_dict1l = LDAPMgmt()LDAP_BASE_DN = 'ou=云计算系统事业部,dc=demo,dc=com'l.list(LDAP_BASE_DN)