LDAP 検索フィルタ構文は前置記法による論理式です。この記法では論理演算子が関連する引数の前に置かれます。
例: (&(givenname=John)(sn=Green))
上記のフィルタでは、「&」は AND 演算子であり、引数の前に置かれています。 この例では、givenname (givenname は名の LDAP 属性)が John で、sn (sn は姓の LDAP 属性)が Green である LDAP オブジェクトを検索します。
フィルタ内の項目はそれぞれ、LDAP 属性識別子、および属性値または属性値を表すシンボルのいずれかを使用して構成されています。 また各項目は、「(sn=Green)」のように丸かっこで囲む必要があります。
フィルタ内の複数の項目は、論理演算子を使用して組み合わされて論理式を構成します。 各論理式はさらに、それ自体が論理式である他の項目と組み合わせることができます。CA Process Automation で使用されているフィルタの例を示します。
(&(|(objectclass=user)(objectclass=person))(!(objectclass=computer)))
このフィルタでは、まず以下のように objectclass が user または person のいずれかであるすべてのオブジェクトを検索します。
(|(objectclass=user)(objectclass=person))
かつ(AND)、以下のように objectclass が computer ではない(NOT)ものを検索します。
(!(objectclass=computer))
フィルタの先頭の「&」がこれら2つのセグメントを論理和(AND)で組み合わせています。
LDAP 属性 objectclass には、LDAP ディレクトリ内の LDAP オブジェクトのタイプが格納されています。
フィルタの作成に使用される論理演算子の一部を以下の表に示します。
|
記号 |
説明 |
|
= |
等しい 例: (givenname=John) 名 が John であるオブジェクトを検索します。 |
|
& |
論理積(AND) 例: (&(givenname=John)(sn=Green)) 名が John、姓が Green であるオブジェクトを検索します。 |
|
| |
論理積(OR) 例: (|(givenname=John)(givenname=Michael)) 名が John または Michael のいずれかであるオブジェクトを検索します。 |
|
! |
論理積(NOT) 例: (&(givenname=John)(!(sn=Green))) 名が John、姓が Green でないオブジェクトを検索します。 |
|
>= |
より大きい 例: (numsubordinates>=2) LDAP ツリーの子ノードが 2 つ以上のオブジェクトを検索します。 |
|
<= |
より小さい 例: (numsubordinates<=2) LDAP ツリーの子ノードが 2 つ以下のオブジェクトを検索します。 |
|
=* |
存在 オブジェクトが属性を持つ必要がありますが、その値は任意です。 例: (givenname=*) givenname 属性を持つオブジェクトを検索します。 |
|
* |
ワイルドカード 例: (givenname=Joh*) givenname が Joh で始まるオブジェクトを検索します。 |
|
Copyright © 2013 CA.
All rights reserved.
|
|