使简单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