用于访问LDAP目录服务器的Python3模块。

bonsai的Python项目详细描述


PyPI VersionTravis CI Build StatusAppVeyor CI Build StatusCoverage StatusDocumentation StatusGitHub License

这是一个在python中处理ldap操作的模块。在Unix平台上使用libldap2 Microsoft Windows上的WinLDAP。LDAP条目映射到特殊的不区分大小写的Python 字典,跟踪字典的更改以方便修改服务器上的条目。

仅支持Python3.5或更新版本,以及ldapv3。

功能

  • 使用用c编写的ldap库(openldap和winldap)以加快 处理。
  • 简单的Python图案。
  • 实现自己的类字典对象以映射LDAP条目 这样可以更容易地添加和修改它们。
  • 使用各种异步库(如asyncio、gevent)。

建筑要求

  • python3.5-dev或更新版本
  • libldap2 dev
  • libsasl2 dev
  • libkrb5 dev或heimdal dev(可选)

文档

文档可以通过简单的教程online获得。

示例

简单的搜索和修改:

importbonsaiclient=bonsai.LDAPClient("ldap://localhost")client.set_credentials("SIMPLE",user="cn=admin,dc=bonsai,dc=test",password="secret")withclient.connect()asconn:res=conn.search("ou=nerdherd,dc=bonsai,dc=test",2,"(cn=chuck)")res[0]['givenname']="Charles"res[0]['sn']="Carmichael"res[0].modify()

与Asyncio一起使用(在Python3.5或更新版本上):

importasyncioimportbonsaiasyncdefdo():client=bonsai.LDAPClient("ldap://localhost")client.set_credentials("DIGEST-MD5",user="admin",password="secret")asyncwithclient.connect(is_async=True)asconn:res=awaitconn.search("ou=nerdherd,dc=bonsai,dc=test",2)print(res)who=awaitconn.whoami()print(who)loop=asyncio.get_event_loop()loop.run_until_complete(do())

更改日志

目前,您可以读取变更日志here

贡献

欢迎任何意见和建议。如有任何问题,请在 这是GitHub page

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将视图从constraint layouts类外部膨胀为约束布局   java如何使用testng参数化selenium中的用户数据并将其馈送到脚本   安卓 Java正则表达式在两个字符串之间提取字符串   java使用继承类的生成生成器,而生成器本身不继承   java匹配两个相同字符之间的字符串   java在ArrayList中添加项的值   主方法完成后的java Swing计时器持久性   使用Android应用程序的Java/Tomcat服务器中的Windows身份验证   java多态性银行应用程序   java如何添加拉丁文5字符?   java如果没有浏览器,我如何以编程方式触发google analytics事件?   如果存在零,则java向左移动   java大数幂法   java试图将XML文件中的ID读入不同的列表?