RFC 2251で定義されるLDAP 3のコアプロトコルを指定するには、LDAPサーバが拡張可能一致検索フィルタ機能を認識できなくてはなりません。拡張可能一致検索では、LDAPクライアントは検索フィルタに次の項目を指定することができます。
拡張可能一致検索フィルタの文字列を次に示します。
extensible = attr [":dn"] [":"matchingrule] ":=" value /
[:dn"] ":"matchingrule ":=" value
次の表は、拡張可能検索フィルタパラメータを表示したものです。
パラメータ | 説明 |
---|---|
attr |
適合する属性を指定します。 |
[":dn"] |
一致ルールが比較一致に含まれるていることを示します。 |
[":" matchingrule] |
使用する一致ルールを指定します。 |
":=" |
一致ルールを指定しないと、完全一致とみなされます。 |
value |
比較値 |
extensibleMatchは、LDAP 3から導入された新しいフィルタです。matchingRuleフィールドがない場合は、属性フィールドが必ず必要です。完全一致検索はその属性に対して実行されます。attributeフィールドがなく、matchingRuleが存在する場合、そのmatchingRuleをサポートするエントリ内のすべての属性がmatchValueと比較され、matchingRuleによりアサーション値の構文が決定されます。
フィルタ項目は次のように評価されます。
matchingRuleの他にtypeフィールドがある場合、matchingRuleはそのtypeで使用できるものでなくてはなりません。使用できない場合、フィルタ項目は定義されません。検索フィルタに:dnが指定されている場合、エントリの識別名に含まれるすべての属性に対して一致検索が適用されます。また、フィルタ項目の評価がTRUEの識別名が1つ以上属性を持っている場合も、評価はTRUEになります。dnAttributesフィールドを使用すると、単語の一致検索などで、1つのルールをエントリに適用し、別のルールをエントリとdn属性に適用するというように、一般的な一致ルールを複数設定する必要がなくなります。
拡張可能一致検索フィルタにより、LDAPクライアントでは次の2つのことが可能になります。
DN指定により、DNの特定要素の一致検索を実行できます。
Novell eDirectory 8.7.3以降では、DNの拡張可能な一致検索フィルタがサポートされています。拡張可能一致検索フィルタのもう一つの要素である一致ルールは未定義とみなされ、無視されます。DN一致検索を使用すると、LDAPクライアントでeDirectoryツリーからオブジェクトを簡単に検索できます。たとえば、
(&(ou:dn:=sales)(objectclass=user)}
のような複雑なLDAP検索フィルタにより、セールスコンテナの下のセールスファンクションにあるすべてのユーザオブジェクトをリストすることができます。
次は、eDirectory 8.7.3以降でサポートされている拡張可能一致検索フィルタの文字列の例です。
(o:dn:=Ace Industry)
これは:dnの使用例です。エントリの識別名の属性は、一致を評価するとき、エントリの一部とみなされます。これは、完全一致であることを意味します。
(:dn:2.4.8.10:=Dino)
これはエントリの属性に適用するフィルタの例です。一致ルールが2.4.8.10のDNの属性も考慮されます。
次は、eDirectory 8.7.3でサポートされていない拡張可能一致検索検索フィルタの文字列の例です。
(cn:1.2.3.4.5:=John Smith)
この例は、属性タイプcnと値John Smithを指定するフィルタを表しています。一致ルールoid 1.2.3.4.5により、ディレクトリサーバにより一致検索が実行されます。
(sn:dn:2.4.6.8.10:=Barbara Jones)
これはdnの使用例です。一致ルール2.4.6.8.10を比較に使用して一致を評価するとき、エントリの属性の識別名はエントリの一部とみなされることを表しています。