一个用于ldap的纯python twisted库
ldaptor的Python项目详细描述
ldaptor是一个纯python库,它实现了:
- LDAP客户端逻辑
- 可单独访问的LDAP和BER协议消息生成/解析
- ascii格式ldap筛选器生成和解析
- ldif格式数据生成
- Samba密码更改逻辑
还包括一组从命令行使用的LDAP实用程序。
详细文档可以在ReadTheDocs上找到。
快速使用示例
fromtwisted.internetimportreactor,deferfromldaptor.protocols.ldapimportldapclient,ldapsyntax,ldapconnector@defer.inlineCallbacksdefexample():# The following arguments may be also specified as unicode strings# but it is recommended to use byte strings for ldaptor objectsserverip=b'192.168.128.21'basedn=b'dc=example,dc=com'binddn=b'bjensen@example.com'bindpw=b'secret'query=b'(cn=Babs*)'c=ldapconnector.LDAPClientCreator(reactor,ldapclient.LDAPClient)overrides={basedn:(serverip,389)}client=yieldc.connect(basedn,overrides=overrides)yieldclient.bind(binddn,bindpw)o=ldapsyntax.LDAPEntry(client,basedn)results=yieldo.search(filterText=query)forentryinresults:print(entry.getLDIF())if__name__=='__main__':df=example()df.addErrback(lambdaerr:err.printTraceback())df.addCallback(lambda_:reactor.stop())reactor.run()
安装
可以使用标准命令行方法安装ldaptor:
python setup.py install
或者使用pypi中的pip:
pip install ldaptor
linux发行版也可能有ldaptor和twisted的现成打包版本。debian和ubuntu都有高质量的ldaptor包,可以安装,例如:
apt-get install python-ldaptor
要从repo签出运行ldap服务器(绑定端口38942),请使用 安装的项目:
twistd -n --pidfile=ldapserver.pid --logfile=ldapserver.log \ -y test-ldapserver.tac
依赖关系: