跳转到主要内容

基于ldap3的异步ldap库

项目描述

https://img.shields.io/pypi/v/aioldap.svg https://img.shields.io/travis/terrycain/aioldap.svg Code coverage Documentation Status Updates

尚未完全准备好,实际上才刚刚开始。可能会稍微调整一些事情等等...

最初打算做一个完整的“从头开始”的asyncio LDAP库。在使用了ldap3一段时间后,我想:有没有什么办法能够拥有类似ldap3的东西,但是使用正常的asyncio。所以我写了这个库,它某种程度上是基于ldap3的,它使用了ldap3的编码和解码函数,我只处理了实际的数据包传递。至于为什么我会做这个,因为可以...也因为我很无聊。

我还不认为这个库已经准备好用于生产,它还需要一些清理,但如果有人真正发现这个库有用,请提出任何问题,我会很乐意帮助。

由于其代码中包含异步生成器,目前它只支持Python3.6,我正在考虑使其与Python3.5兼容。

文档

最终将放在readthedocs上

示例

使用aioboto3将项目放入dynamodb表的简单示例

conn = aioldap.LDAPConnection()
await conn.bind(
    bind_dn=ldap_params['user'],
    bind_pw=ldap_params['password'],
    host=ldap_params['host'],
    port=ldap_params['port']
)

dn = user_entry('modify', ldap_params['test_ou1'])
await conn.add(
    dn=dn,
    object_class='inetOrgPerson',
    attributes={'description': 'some desc', 'cn': 'some_user', 'sn': 'some user', 'employeeType': ['type1', 'type2']}
)

await conn.modify(
    dn=dn,
    changes={
        'sn': [('MODIFY_REPLACE', 'some other user')],
        'employeeType': [
            ('MODIFY_ADD', 'type3'),
            ('MODIFY_DELETE', 'type1'),
        ]
    }
)

# Now search for user
async for user in conn.search(dn, search_filter='(uid=*)', search_scope='BASE', attributes='*'):
    assert user['dn'] == dn

致谢

所有的功劳都归功于@cannatag,他为我做了所有的艰苦工作。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

aioldap-0.4.3.tar.gz (25.6 kB 查看哈希值)

上传时间

由以下支持