如何使用LDAP查询大型安全组?

时间:2013-07-12 21:44:07

标签: active-directory ldap python-ldap

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)上测试了我的分页搜索,所以我知道它已经正确实现了。

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:1)

要获取特定群组的成员列表,您应使用memberof搜索过滤器:

过滤器(&(memberof = cn = SomeGroup,dc = foo,dc = bar))
属性:您想了解的有关成员的任何内容 基本DN:我建议将其设置为您的目录root(dc = foo,dc = bar),以确保您获得完整的成员列表

如果您想以相反的方式(从组中读取成员的专有名称),您应该使用虚拟过滤器read执行(objectclass=*)操作,并将基本DN设置为区分组的名称,并请求member属性。