2010-11-04 92 views
3

這可能很愚蠢,但我對LDAP仍然很綠。所以我希望有人能幫我一把。LDAP語法/語義:篩選與基本DN?

我使用的是Apache Directory Studio來完成我的搜索,我很困惑我應該何時使用過濾器,或者我應該將過濾器分成兩部分,一部分用作過濾器,另一部分用作搜索基礎。

這裏有一個例子,我試圖過濾出一個組。

Filter: CN=JohnTestGroup,OU=TECH,DC=lab,DC=ing 
Base: DC=lab,DC=ing 

這產生了零結果。我意識到,也許我是過剩的基礎的一部分,所以我擺脫了過濾器中的那部分。

Filter: CN=JohnTestGroup,OU=TECH 
Base: DC=lab,DC=ing 

這仍然沒有產生任何東西。所以,我想這一點:

Filter: CN=JohnTestGroup 
Base: OU=TECH,DC=lab,DC=ing 

我感動OU參數爲Base。這工作,但我不明白爲什麼第一次或第二次嘗試沒有。有人在乎我放棄一些知識嗎?

這可能是語法/語義問題,所以如果任何人都可以指向我的資源,我會更願意閱讀更多關於它的信息。

+0

作爲範圍,你給了什麼? – 2010-11-04 21:59:36

+0

作用域...我的Bind DN? – John 2010-11-04 22:04:44

回答

1

我想你是誤會過濾器如何工作。它意味着是關鍵=值配對。

所以(objectClass = iNetOrgPerson)爲例。

如果你希望過濾器找到一個DN,那麼你可以選擇一個像CN這樣的識別特徵,並過濾(CN = JohnTestGroup)或者([email protected])。

基地告訴LDAP服務器從哪裏開始尋找,因爲他/她的回答中的seriyPS筆記,SCOPE是下一個問題。服務器搜索應該多深,因爲這會增加開銷和性能問題。子樹在概念上是簡單的。只要繼續從這裏往下看,直到你用完樹看透。

這就是爲什麼你最後一個工作。

現在,如果您想要查找特定對象並知道其DN,請對特定DN的基礎執行ENTRY作用域查詢。

+0

謝謝!你最近的補充幫助我瞭解了很多,尤其是最後一句話。它讓我在Google上搜索'「dn」'ldap search「,並且我遇到了這個問題:http://www.openldap.org/lists/openldap-software/200503/msg00519.html,它真正鞏固了你的意思你最後一句話。 – John 2010-11-08 15:01:22

+0

@John我們打算取悅。 (至少在使用便盆時......) – geoffc 2010-11-08 17:49:49