LDAP 検索フィルターは、ディレクトリから項目を選択するための条件を定義します。条件は属性値に基づきます。検索フィルターの構文は、RFC2254(「The String Representation of LDAP Search Filters」)で定義されます。
最も単純なフィルターは、単一の属性値に条件を指定します。
(attributeType filterType value)
次の表に、検索フィルターに使用できる有効な演算子を示します。
演算子
|
意味
|
=
|
等しい
|
~=
|
およそ等しい
|
<=
|
次の値以下
|
>=
|
次の値以上
|
例えば、検索フィルター (uid=jdoe) は、値 jdoe の uid 属性を持つディレクトリ項目を返します。
サブ文字列と任意の値検索フィルターでは、アスタリスク(*)が文字の任意のシーケンスを表します。特定の接頭辞または接尾辞がある式の値を表すために、または任意の値を表すために、アスタリスクを使用できます。
式 (uid=j*) は j で始まる uid 属性のあるすべての項目と一致します。
式 (uid=*doe) は doe で終わる uid 属性のあるすべての項目と一致します。
式 (uid=*) はあらゆる値の uid 属性があるすべての項目と一致します。
論理演算子複数の属性に条件を適用するか、またはフィルターによって指定された条件の逆を適用するには、論理演算子を使用します。論理演算子は、適用されるフィルターの前に配置します。次の表に、論理演算子とその使用例を示します。
論理演算子
|
説明
|
例
|
&
|
関連するすべてのフィルターに一致する。
|
(&(uid=j*)(c=CA))
j で始まる uid 属性値と、CA に等しい c 属性値があるすべてのディレクトリ項目と一致する。
|
|
|
関連付けられたフィルターのいずれかと一致する。
|
(|(c=CA)(c=US))
CA または US のいずれかと等しい c 属性値があるすべてのディレクトリ項目が一致する。
|
!
|
フィルターの逆。
|
(!(uid=j*))
j で始まらない uid 属性値があるすべてのディレクトリ項目が一致する。
|
エスケープ文字特殊文字のリテラル値を表すには、その文字の前にバックスラッシュ(¥)を付けます。例えば、属性値に括弧が含まれる場合、はじめの括弧と終わり括弧の前にバックスラッシュを付けます。
(telephoneNumber=\(555\) 555-1234)
すべてのディレクトリ項目すべてのディレクトリ項目に objectClass 属性の値が必要です。次の検索フィルターは、検索されるディレクトリの領域内のすべての項目と一致します。
(objecClass=*)
|
|
|