我正在尝试获取某个用户所属的所有组。
我有以下内容结构在LDAP中:
o=myOrganization
ou=unit1
cn=admin
cn=guess
and
ou=users
cn=ann
cn=bob
cn=carla
-
myOrganization
是组织的一个实例
-
unit1
是 OrganizationUnit 的一个实例
-
admin
and guess
都是 GroupOfNames 并且每个人都是成员
-
ann
, bob
, and carla
是 Person 的实例
目前,我正在 python 上使用 ldap 模块,这就是我所拥有的:
import ldap
l = ldap.initialize("ldap://my_host")
l.simple_bind_s("[my_dn]", "[my_pass]")
ldap_result = l.search("[BASE_DN]", ldap.SCOPE_SUBTREE, "(&(objectClass=Person)(cn=ann))", None)
res_type, data = l.result(ldap_result, 0)
print(data)
我能够得到用户ann
;但是,我该如何获得这些团体Ann
属于?
我尝试过,以下来自this http://timony.com/mickzblog/2015/08/03/python-ldap-list-the-group-membership-of-a-user/ page:
search_filter='(|(&(objectClass=*)(member=cn=ann)))'
results = l.search_s([BASE_DN], ldap.SCOPE_SUBTREE, search_filter, ['cn',])
但我得到了一个空列表。我也尝试了各种查询组合,但它们都返回空。
PS:我在Linux机器上使用OpenLDAP