LDAP库:python-ldap
我正在尝试查询一个拥有大约1,000名用户的安全组,以获取成员列表。 这些是我用于查询安全组的搜索首选项。
Filter: (&(objectCategory=Group)(distinguishedName=cn=SomeGroup,dc=foo,dc=bar))
base dn: cn=SomeGroup,dc=foo,dc=bar
attributes: ['member']
我知道这个查询适用于较小的组,因为我测试了它并收到了它包含的成员列表。
我也尝试过实现分页组搜索,但它没有在其有效负载中返回任何内容,而是返回一个空的错误消息。我的分页大小为1,因此使用分页的用户太多应该不是问题。我已经在organizationalUnits(OU)上测试了我的分页搜索,所以我知道它已经正确实现了。
非常感谢任何帮助或建议。
答案 0 :(得分:1)
要获取特定群组的成员列表,您应使用memberof
搜索过滤器:
过滤器(&(memberof = cn = SomeGroup,dc = foo,dc = bar))
属性:您想了解的有关成员的任何内容
基本DN:我建议将其设置为您的目录root(dc = foo,dc = bar),以确保您获得完整的成员列表
如果您想以相反的方式(从组中读取成员的专有名称),您应该使用虚拟过滤器read
执行(objectclass=*)
操作,并将基本DN设置为区分组的名称,并请求member
属性。