Interstage Application Server ディレクトリサービス運用ガイド |
目次
索引
![]() ![]() |
第7章 エントリの管理 | > 7.1 コマンドを使用する |
Interstage ディレクトリサービスのクライアントで使用できる検索フィルタ(RFC1558準拠)とその使用例を次に示します。
検索フィルタには、以下の5つを指定することができます。
フィルタ |
内容 |
---|---|
指定した値と同じ属性値がある場合に、取り出します。 |
|
指定した部分文字列を含む属性値がある場合に、取り出します。 |
|
指定した値より大きい値の属性値がある場合に、取り出します。 |
|
指定した値より小さい値の属性値がある場合に、取り出します。 |
|
属性値がある場合に、取り出します。 |
また、上記の各フィルタを組み合わせることで、より詳細に指定することができます。以下に組み合わせに使用する論理演算を示します。
論理演算 |
内容 |
---|---|
複数のフィルタを論理積(AND)条件で結びます。 |
|
複数のフィルタを論理和(OR)条件で結びます。 |
|
(RDBを使用する場合にだけ有効です。) |
指定した条件が偽の場合に、有効となります。1つの条件にだけ指定できます。 例: (!(cn=Fujitsu)) |
検索フィルタの文法は、以下のRFC文書に記述されています。
(cn=User001) |
(cn=Fujitsu*) |
(dnQualifier>=abc) |
(cn=*) |
(&(cn=User001)(sn=Fujitsu)) |
(|(givenName=User001)(givenName=User002)) |
(!(cn=Fujitsu*)) |
(|(givenName=User001)(givenName=User002)(mail=*)) |
(&(&(cn=User001)(sn=Fujitsu))(givenName=User001)) |
検索フィルタの値に、検索する値として以下の特殊文字を指定する場合、その特殊文字を「\」(エンマーク)でエスケープします。
ldapsearchコマンドでは、1つのエスケープ文字「\」に続けて、16進数として指定する必要があります。
C APIでは、2つのエスケープ文字「\\」に続けて、16進数として指定する必要があります。
JNDIでは、16進数にする必要はありません。以下のように指定します。
特殊文字 |
ldapsearchコマンド |
C API |
JNDI |
---|---|---|---|
* |
\2a |
\\2a |
\\* |
( |
\28 |
\\28 |
\\( |
) |
\29 |
\\29 |
\\) |
\ |
\5c |
\\5c |
\\\\ |
検索フィルタの値に「富士通(株)」を指定する場合、以下のように指定します。
ldapsearchコマンド
"o=富士通\28株\29" |
C API
(o=富士通\\28株\\29) |
JNDI
(o=富士通\\(株\\)) |
目次
索引
![]() ![]() |