我無法爲LDAP查詢編寫過濾器。編寫LDAP查詢過濾器
我有兩個對象類 - 人員和服務。數據庫由許多人組成,每個人都有零個或更多的兒童服務。每個人都有一個標識符,personNumber屬性。我想選擇幾個人和所有他們的服務給定人數。在一個查詢中可以這樣做嗎?
例如,如果我們有如下的一組對象:
personNumber=1,ou=root,o=org
serviceNumber=1,personNumber=1,ou=root,o=org
serviceNumber=2,personNumber=1,ou=root,o=org
personNumber=2,ou=root,o=org
serviceNumber=3,personNumber=2,ou=root,o=org
personNumber=3,ou=root,o=org
serviceNumber=4,personNumber=3,ou=root,o=org
,是有可能,因爲人的數字1和2,檢索這些對象:
personNumber=1,ou=root,o=org
serviceNumber=1,personNumber=1,ou=root,o=org
serviceNumber=2,personNumber=1,ou=root,o=org
personNumber=2,ou=root,o=org
serviceNumber=3,personNumber=2,ou=root,o=org
但不是這些:
只使用一個查詢 personNumber=3,ou=root,o=org
serviceNumber=4,personNumber=3,ou=root,o=org
,?這是一個例子;可以加載兩個以上的標識符。他們不是先驗的。
另外,有沒有一種方法來指定該屬性值應該在一些值的集合中,例如SQL中的IN (..)
子句,而不是生成大的(|(a=..)(a=..)(a=..)..)
篩選器?
我不明白你的問題的第一部分。如果您發現每個找到的節點的人員節點,您必須檢索子項(您的案例中的服務)。 LDAP不做彙總。第二部分可能不是,根據這個規範:http://tools.ietf.org/html/rfc4515 – rene 2012-08-17 08:01:04
@rene我已經添加了一個例子來說明我想要做什麼。 – 2012-08-17 08:12:11
這使得它更清晰。人有(多值)屬性,將其鏈接到服務或是唯一與ldap層次關係的關係?在後一種情況下,你不能有這樣的結果。 – rene 2012-08-17 08:19:12