列出组中的用户LDAP python
我是LDAP新手。所以我并不真正了解我的所有条款,并完全理解所有条款。但是,我正在研究现有系统并完成所有设置。我只是添加一个方法。 我想在Python中使用LDAP查询编写一个方法。我在LDAP浏览器上玩过,可以看到我的查询是正确的。但是,我不知道如何把它放在一个Python方法返回一个列表。该方法需要返回所有用户的用户名列表。到目前为止,我有:列出组中的用户LDAP python
def getUsersInGroup(self, group): searchQuery= //for privacy Im not going to share this
searchAttribute=["username"]
results = self.ldap.search_s(self.ldap_root, ldap.SCOP_SUBTREE,
searchQuery, searchAttribute)
我不确定如何从这里走。我不完全理解search_s方法返回的内容。我在网上阅读,它更好地使用search_s搜索方法,因为while循环可以避免。你能否提供一下我可以从哪里出发的例子。谢谢。
回答:
您需要执行一个LDAP搜索是这样的:
# Find all Groups user is a member of: import ldap
l = ldap.initialize("ldap://my_host")
l.simple_bind_s("[my_dn]", "[my_pass]")
myfilter = "(member=(CN=UserName,CN=Users,DC=EXAMPLE,DC=COM))"
# for all groups including Nested Groups (Only Microsoft Active Directory)
# (member:1.2.840.113556.1.4.1941:=CN=UserName,CN=Users,DC=EXAMPLE,DC=COM)
ldap_result = l.search("[BASE_DN]", ldap.SCOPE_SUBTREE, myfilter, None)
res_type, data = l.result(ldap_result, 0)
print(data)
您需要使用用户的完整DN。
以上是 列出组中的用户LDAP python 的全部内容, 来源链接: utcz.com/qa/261338.html