關於輕型目錄存取協定 (LDAP)

輕型目錄存取協定 (LDAP) 是一個行業標準協定,用於存取和檢視有關使用者和裝置的資訊。 利用 LDAP,您可以將這些資訊組織和儲存到目錄中。 由於可以根據需要進行更新,因此 LDAP 目錄是動態的;同時它也是分散式的,從而保護該目錄免受單點故障危害。

以下範例說明可用於搜尋該目錄的 LDAP 查詢:

  • 取得所有項目:(objectClass=*)
  • 取得通用名稱中含有 'bob' 的項目:(cn=*bob*)
  • 取得通用名稱大於或等於 'bob' 的項目:(cn>='bob')
  • 取得所有含電子郵件屬性的使用者:(&(objectClass=user)(email=*))
  • 取得所有含電子郵件屬性而且姓氏等於 'smith' 的使用者項目:(&(sn=smith)(objectClass=user)(email=*))
  • 取得所有通用名稱以 'andy'、'steve' 或 'margaret' 開頭的使用者項目:(&(objectClass=User)(| (cn=andy*)(cn=steve*)(cn=margaret*)))
  • 取得所有不含電子郵件屬性的使用者項目:(!(email=*))

搜尋篩選的正式定義如下所示 (RFC 於 1960 年制訂):

  • <filter> ::= '(' <filtercomp> ')'
  • <filtercomp> ::= <and> > <or> > <not> > <item>
  • <and> ::= '&' <filterlist>
  • <or> ::= '|' <filterlist>
  • <not> ::= '!'<filter>
  • <filterlist> ::= <filter> > <filter> <filterlist>
  • <item> ::= <simple> > <present> > <substring>
  • <simple> ::= <attr> <filtertype> <value>
  • <filtertype> ::= <equal> > <approx> > <ge> > <le>
  • <equal> ::= '='
  • <approx> ::= '~='
  • <ge> ::= '>='
  • <le> ::= '<='
  • <present> ::= <attr> '=*'
  • <substring> ::= <attr> '=' <initial> <any> <final>
  • <initial> ::= NULL > <value>
  • <any> ::= '*' <starval>
  • <starval> ::= NULL > <value> '*' <starval>
  • <final> ::= NULL > <value>

標示 <attr> 是表示屬性類型的字串。 標示 <value> 是表示屬性值的字串,其格式由基礎目錄服務定義。

如果 <value> 必須含有字元 *、( 或 ) 之一,請在該字元前面加上斜線 (\) 逸出字元。