2013-10-21 53 views
0

我正在嘗試獲取與搜索查詢匹配的元素數量。get count for a search(spring-ldap)

重點是,搜索將不時產生SizeLimitExceededException,我想知道有多少條目匹配查詢。因此,計算從搜索中獲得的結果不是一種選擇。

任何想法?

感謝提前:)

回答

1

有用於大小限制的理由被超過,它可以防止客戶端用拖網捕對象的目錄信息,計算對象的數量,等等。拖曳目錄是a)安全風險,b)會對舊的舊服務器軟件產生負面影響。

還有一個時間限制,可以限制服務器可能花費在可能發揮作用的特定搜索上的秒數。

如果與您的搜索篩選器匹配的所有條目(並且沒有其他)都從屬於某個對象,請將該服務器配置爲支持numSubordinates屬性。該屬性(如果支持)是從屬於其中出現numSubordinates屬性的對象的對象的數量。此方法要求所有且僅匹配搜索過濾器的條目存儲在從屬於對象的位置,並且沒有其他對象從屬於對象。

可以編寫一個插件來提供功能;一個插件通常具有對服務器數據庫的根DN訪問權限,並且通常不受訪問控制的限制,因此可以對條目進行計數。

在最近的專業品質服務器上,可以創建一個具有相應權限的DN來計算條目數。爲了簡單計數條目,應用程序可以提供此DN和憑證。