2016-10-20 38 views
0

我想分頁ldap查詢的結果,以便每個頁面的每個查詢獲得50個用戶。這裏的文檔http://ldap3.readthedocs.io/searches.html?highlight=generator表明使用生成器是最簡單的方法,但它沒有提供關於如何使用它來實現分頁的任何細節。當我遍歷生成器對象時,即使在我的搜索查詢中指定了'paged_size = 5',它也會打印出每個用戶條目。任何人都可以向我解釋發生了什麼事嗎?謝謝!!如何使用ldap3生成器進行分頁?

回答

0

嘗試將paged_criticality參數設置爲True。可能是服務器無法執行分頁搜索。如果是這種情況,paged_criticality爲True,則搜索將失敗,而不是返回所有用戶。

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,得到這樣的結果。