python的ldap使用正则表达式
时间: 2023-11-17 19:00:46 浏览: 238
Python的ldap模块可以使用正则表达式进行搜索和过滤。在ldap.filter模块中,可以使用re模块中的正则表达式语法来构建过滤器。例如,可以使用以下代码来搜索所有姓氏以“Smith”开头的人:
```
import ldap
import re
# 连接LDAP服务器
l = ldap.initialize("ldap://ldap.example.com")
# 构建过滤器
filter_str = "(sn=Smith*)"
# 搜索
result = l.search_s("dc=example,dc=com", ldap.SCOPE_SUBTREE, filter_str)
# 输出结果
for dn, entry in result:
print("DN: {}".format(dn))
for attr, value in entry.items():
print("{}: {}".format(attr, value))
```
在上面的代码中,使用了re模块中的正则表达式语法来构建过滤器字符串"(sn=Smith*)",表示搜索所有姓氏以"Smith"开头的人。搜索结果会以元组的形式返回,其中第一个元素是DN(Distinguished Name),第二个元素是一个字典,包含了该条目的所有属性和值。
阅读全文