| 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=富士通\\(株\\))  | 
			目次
			索引
			![]()  
		 |