python:ldap where子句
如何获取“ou=active,ou=infra,o=company”中所有用户的UID,其中管理者的cn=ahome?更改此行的最后一部分,即筛选器:python:ldap where子句,python,ldap,Python,Ldap,如何获取“ou=active,ou=infra,o=company”中所有用户的UID,其中管理者的cn=ahome?更改此行的最后一部分,即筛选器: conn=ldap.initialize('ldap://ldap.server.com:389') results=conn.search_s('ou=active,ou=infra,o=company', ldap.SCOPE_SUBTREE,'uid=bob') results=[('uid=bob,ou=active,ou=infra,
conn=ldap.initialize('ldap://ldap.server.com:389')
results=conn.search_s('ou=active,ou=infra,o=company', ldap.SCOPE_SUBTREE,'uid=bob')
results=[('uid=bob,ou=active,ou=infra,o=company', {'telephonenumber': [''], 'cn': ['Bob Bensen (bob)'], 'uidnumber': ['123'], 'manager': ['cn=Andy Home (ahome),ou=sector,ou=dept,o=company'])]
results[0][1]['manager'] ---> ['cn=Andy Home (ahome),ou=sector,ou=dept,o=company']
例如:
results = conn.search_s('ou=active,ou=infra,o=company', ldap.SCOPE_SUBTREE,'uid=bob')
请注意,
manager
属性存储管理器对象的完整DN,因此仅指定ahome
是不够的。在进行搜索之前,您可能需要首先查找DN(它应该是每个LDAP结果的第一项)。LDAP where子句被称为筛选器,但您需要显示一些代码,说明如何获得这些结果,以便任何人说些有帮助的话……我想出来了,我可以执行results=conn.search\s('ou=active,ou=infra,o=company',ldap.SCOPE_子树,'manager=cn=*ahome*,ou=sector,ou=dept,o=company')
results = conn.search_s(
'ou=active,ou=infra,o=company',
ldap.SCOPE_SUBTREE,
'manager=cn=Andy Home (ahome),ou=sector,ou=dept,o=company'
)