基本 LDAP 語法

2021-04-26 01:34:12 字數 1842 閱讀 4200

=(等於)

此 ldap 引數表明某個屬性等於某個值的條件得到滿足。例如,如果希望查詢「名「屬性為「john」的所有物件,可以使用:

(givenname=john)

這會返回「名」屬性為「john」的所有物件。圓括號是必需的,以便強調 ldap 語句的開始和結束。

&(邏輯與)

如果具有多個條件並且希望全部條件都得到滿足,則可使用此語法。例如,如果希望查詢居住在 dallas 並且「名」為「john」的所有人員,可以使用:

(&(givenname=john)(l=dallas))

請注意,每個引數都被屬於其自己的圓括號括起來。整個 ldap 語句必須包括在一對主圓括號中。操作符 & 表明,只有每個引數都為真,才會將此篩選條件應用到要查詢的物件。

!(邏輯非)

此操作符用來排除具有特定屬性的物件。假定您需要查詢「名」為「john」的物件以外的所有物件。則應使用如下語句:

(!givenname=john)

此語句將查詢「名」不為「john」的所有物件。請注意:! 操作符緊鄰引數的前面,並且位於引數的圓括號內。由於本語句只有乙個引數,因此使用圓括號將其括起以示說明。

*(萬用字元)

可使用萬用字元表示值可以等於任何值。使用它的情況可能是:您希望查詢具有職務頭銜的所有物件。為此,可以使用:

(title=*)

這會返回「title」屬性包含內容的所有物件。另乙個例子是:您知道某個物件的「名」屬性的開頭兩個字母是「jo」。那麼,可以使用如下語法進行查詢:

(givenname=jo*)

這會返回「名」以「jo」開頭的所有物件。

•以下是 ldap 語法的高階使用示例:

•您需要乙個篩選條件,用來查詢居住在 dallas 或 austin,並且名為「john」的所有物件。使用的語法應當是:

(&(givenname=john)(|(l=dallas)(l=austin))) •

您發現應用程式日誌中有 9,548 個事件,因此需要查詢導致這些日誌事件的所有物件。在此情況下,您需要查詢所有被禁用的使用者 (m***chuseraccountcontrol=2),這些使用者的m***chmasteraccountsid沒有值。使用的語法應當是:

(&(m***chuseraccountcontrol=2)(!m***chmasteraccountsid=*))

注意:! 操作符與萬用字元的結合使用可查詢屬性未設定為任何值的物件。

在使用 exchange server 時,您遇到了使用 ldap 字串的情況。例如,當您設定收件人或郵箱管理策略或位址列表過濾器時,或者,當您搜尋 active directory 目錄服務時,exchange server 都會使用 ldap。在下面的部分中,我們將介紹一些 ldap 語句的使用方式。

下例描述了如何「active directory 使用者和計算機」執行搜尋:

1.開啟「active directory使用者和計算機」。

2.右擊域物件並選擇查詢

3.單擊查詢旁邊的下拉列表,然後選擇自定義搜尋。 4.

從下一螢幕中,選擇高階選項卡。

5.在輸入 ldap 查詢下,輸入相應的 ldap 語句。

本示例嘗試查詢職務為 prez 或姓名以 test 開頭的所有物件。如果您單擊立即查詢,應該能夠看到相應的輸出,如以下螢幕截圖所示。

JAVA 基本LDAP操作例項

一 簡介 cd cas,dc mydc cn users uid zhangsan 二 示例 1 通過ldapcontext連線ldap 連線ldap suppresswarnings public ldapcontext connetldap throws namingexception2 增加使...

LDAP學習文件4 LDAP四種基本模型

ldap四種基本模型 資訊模型 描述ldap的資訊表示方式 在ldap中資訊以樹狀方式組織,在樹狀資訊中的基本資料單元是條目,而每個條目由屬性構成,屬性中儲存有屬性值 ldap中的資訊模式,類似於面向對 象的概念,在ldap中每個條目必須屬於某個或多個物件類 object class 每個objec...

LDAP學習文件4 LDAP四種基本模型

ldap四種基本模型 資訊模型 描述ldap的資訊表示方式 在ldap中資訊以樹狀方式組織,在樹狀資訊中的基本資料單元是條目,而每個條目由屬性構成,屬性中儲存有屬性值 ldap中的資訊模式,類似於面向對 象的概念,在ldap中每個條目必須屬於某個或多個物件類 object class 每個objec...