1

我想对 ldap 查询的结果进行分页,以便每个页面的每个查询都有 50 个用户。此处的文档http://ldap3.readthedocs.io/searches.html?highlight=generator建议使用生成器是执行此操作的最简单方法,但是它没有提供有关如何使用它来实现分页的任何详细信息. 当我遍历生成器对象时,它会打印出每个用户条目,即使我在搜索查询中指定了“paged_size=5”。谁能向我解释这里发生了什么?谢谢!!

4

2 回答 2

0

尝试将 paged_criticality 参数设置为 True。可能是服务器无法执行分页搜索。如果是这种情况并且 paged_criticality 为 True,则搜索将失败,而不是返回所有用户。

于 2016-12-02T22:14:00.357 回答
0

这是我使用的类似系统:

# Set up your ldap connection
conn = Connection(*args)

# create a generator
entry_generator = conn.extend.standard.paged_search(
        search_base=self.dc, search_filter=query[0],
        search_scope=SUBTREE, attributes=self.user_attributes,
        paged_size=1, generator=True)

# Then get your results:
results = []
for entry in entry_generator:
    total_entries += 1
    results.append(entry)
    if total_entries % 50 == 0:
        # do something with results

否则尝试将 page_size 设置为 50 并获得类似的结果。

于 2017-07-04T11:16:14.307 回答