gpt4 book ai didi

python - 如何查找用户所属的所有组? (LDAP)

转载 作者:行者123 更新时间:2023-12-01 13:41:04 27 4
gpt4 key购买 nike

我正在尝试获取某个用户所属的所有组。

我在 ldap 中有以下结构:

o=myOrganization
ou=unit1
cn=admin
cn=guess


ou=users
cn=ann
cn=bob
cn=carla
  • myOrganization是组织
  • 的一个实例
  • unit1是 OrganizationUnit
  • 的一个实例
  • adminguess都是 GroupOfNames 并且每个人都是成员
  • ann , bob , 和 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页:
    search_filter='(|(&(objectClass=*)(member=cn=ann)))'
    results = l.search_s([BASE_DN], ldap.SCOPE_SUBTREE, search_filter, ['cn',])

    但我得到了一个空列表。我还尝试了各种查询组合,但它们都返回空。

    PS:我在 linux 机器上使用 OpenLDAP

    最佳答案

    member=cn=ann是不足够的。您必须使用 ann 的完整 DN,可能是这样的:

    member=cn=ann,ou=users,dc=company,dc=com

    关于python - 如何查找用户所属的所有组? (LDAP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40225230/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com