使简单LDAP使用变得简单的模块。

simpleldap的Python项目详细描述


关于

python ldap库周围的一个小包装器,它提供了一个更为pythonic的 用于LDAP服务器连接、LDAP对象和公共get和 搜索操作。

安装

使用pip安装:

pip install simpleldap

示例

一个使用simpleldap

的简单快速的示例
>>> import simpleldap
>>> conn = simpleldap.Connection('directory.example.com')
>>> user = conn.get("uid=myuser")
>>> user.dn
'uid=myuser,dc=directory,dc=example,dc=com'
>>> user['cn']
['Joe Smith', 'Joe M. Smith']
>>> user.first('cn')
'Joe Smith'
>>> conn.close()

Connection对象也可以用作上下文管理器,例如:

with simpleldap.Connection('directory.example.com') as conn:
    users = conn.search("(&(givenName=Joe)(sn=Smith))")

对用户进行身份验证的常用方法是使用 服务用户/帐户,然后使用用户的 凭据(即dn和密码)。authenticate方法使 简单:

with simpleldap.Connection('directory.example.com') as conn:
    is_valid = conn.authenticate('uid=myuser,dc=directory,dc=example,dc=com', 'password')

注意

authentication方法不执行取消绑定,也不会再次绑定 使用原始连接的凭据;因此 成功调用authenticate后的操作将作为 经过身份验证的用户。

LDAP还提供了一个特性,可以将属性值与给定字符串进行比较。 这有时比抓取整个 来自LDAP存储的对象。simpleldap为此提供了一个compare方法 功能:

>>> conn = simpleldap.Connection('directory.example.com')
>>> user_dn = 'uid=myuser,dc=directory,dc=example,dc=com'
>>> conn.compare(user_dn, 'cn', 'Joe Smith')
True

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

推荐PyPI第三方库


热门话题
java Admob初始化失败,应用程序在启动时崩溃,即使没有错误   java如何在ibatis中使用存储过程?   java干净体系结构:在不同的环境中分离IO和核心。jar文件   Java streams compare属性在两个列表之间相等,并返回true或false   有没有一种压缩Java Try-Catch块的方法?   Android片段中的java Mapbox SDK   用于IzPack安装的JavaFX本机启动器:控制InnoSetup/WiX/RPMBuild行为   java接口是否可以将一个已经实例化的对象作为属性?   hashmap中的java线程问题   请求中的java字符编码。getRemoteUser()   java将OneTONE链接更改为另一个id为的实体   java当使用javaw启动应用程序时,不会执行关闭钩子。exe   Android java代码更改显示的微调器   java GZIP解压字符串和字节转换   运行springbatch后java LDAP运行状况检查失败