基于ldap3的异步ldap库
项目描述
尚未完全准备好,实际上才刚刚开始。可能会稍微调整一些事情等等...
最初打算做一个完整的“从头开始”的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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc82a6234c67f22eb31c430f8c4b160aa28ed03157d0ffd5a92151d0b5f124a0 |
|
MD5 | ffff019472e8120d3edc47016ae7d9d6 |
|
BLAKE2b-256 | e20e45d1dfd9555cae84aca3957ebf53549ca931c091fcd0af9785d9825726cc |