Interstage Application Server ディレクトリサービス運用ガイド
目次 索引 前ページ次ページ

第7章 エントリの管理> 7.1 コマンドを使用する

7.1.2 検索フィルタ

 Interstage ディレクトリサービスのクライアントで使用できる検索フィルタ(RFC1558準拠)とその使用例を次に示します。

使用できる検索フィルタ

 検索フィルタには、以下の5つを指定することができます。

フィルタ

内容


(equal)

指定した値と同じ属性値がある場合に、取り出します。

部分文字
(substring)

指定した部分文字列を含む属性値がある場合に、取り出します。
部分文字列には、前方一致、後方一致、任意一致、およびこれらを組み合わせて指定することができます。

より大き
(greater)

指定した値より大きい値の属性値がある場合に、取り出します。

より小さ
(less)

指定した値より小さい値の属性値がある場合に、取り出します。


(present)

属性値がある場合に、取り出します。

 また、上記の各フィルタを組み合わせることで、より詳細に指定することができます。以下に組み合わせに使用する論理演算を示します。

論理演算

内容

論理
(AND)

複数のフィルタを論理積(AND)条件で結びます。
すべての条件が真の場合に、有効となります。

論理
(OR)

複数のフィルタを論理和(OR)条件で結びます。
いずれかの条件が真の場合に、有効となります。


(NOT)

(RDBを使用する場合にだけ有効です。)

指定した条件が偽の場合に、有効となります。1つの条件にだけ指定できます。

例: (!(cn=Fujitsu))

(!(cn=Fujitsu)(uid=0123))という使い方はできません。

検索フィルタの文法

 検索フィルタの文法は、以下のRFC文書に記述されています。

特殊文字の指定方法

 検索フィルタの値に、検索する値として以下の特殊文字を指定する場合、その特殊文字を「\」(エンマーク)でエスケープします。

 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=富士通\\(株\\))


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED