ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Server Enterprise Editionリファレンス
11g リリース1 (11.1.1.7.0)
B72441-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 Directory ServerのLDAP URL

LDAP問合せを表現する1つの方法は、Directory Serverのホスト・マシン、および検索用にDNやフィルタを指定するためのURLを使用するというものです。Directory ServerはLDAP URLとして送信された問合せに応答し、結果を表示するHTMLページを戻します。匿名検索が許可された場合、このような方法で、Webブラウザはディレクトリの検索を実行します。また、Directory Serverのリフェラルを管理する場合、またはアクセス制御命令を管理する場合に、LDAP URLを使用してターゲット・エントリを指定できます。

LDAP URLの詳細は、次の項を参照してください。

3.1 LDAP URLのコンポーネント

LDAP URLの構文は、次のようになっています。

ldap[s]://hostname:port/base_dn?attributes?scope?filter

ldap://を指定すると、標準LDAPを使用して、LDAPサーバーに接続します。ldaps://を指定すると、LDAP over SSLを使用してLDAPサーバーに接続します。

表3-1 LDAP URLのコンポーネント

コンポーネント 説明

hostname

LDAPサーバー名(またはドット区切りのIPアドレス)。次に例を示します。

ldap.example.comまたは192.168.1.100

port

LDAPサーバーのポート番号。

ポートが指定されていない場合は、標準LDAPポート(389)またはLDAPSポート(636)が使用されます。

base_dn

ディレクトリにおけるエントリの識別名(DN)。このDNによって、検索の開始点であるエントリを識別します。

ベースDNが指定されていない場合、ディレクトリ・ツリーのルートから検索が開始されます。

attributes

戻される属性。複数の属性を指定するには、カンマを使用して属性を区切ります。たとえば、"cn,mail,telephoneNumber"などです。

URLで属性が指定されていない場合、すべての属性が戻されます。

scope

検索の有効範囲。次の値のいずれかを指定できます。

  • baseによって、URLで指定されている識別名(base_dn)のみに関する情報を取得します。

  • oneによって、URLで指定されている識別名(base_dn)の1レベル下のエントリに関する情報を取得します。ベース・エントリはこの範囲には含まれません。

  • subによって、URLで指定されている識別名(base_dn)の配下のすべてのレベルのエントリに関する情報を取得します。ベース・エントリは、この範囲に含まれます。

    範囲が指定されていない場合、サーバーはbase検索を実行します。

filter

指定された検索範囲内のエントリに適用するための、検索フィルタ。

フィルタが指定されていない場合、サーバーはフィルタobjectClass=*を使用します。


次のコンポーネント、すなわちattributesscopeおよびfilterは、URLにおける位置によって識別されます。コンポーネントを指定しない場合は、フィールドを区切るために疑問符を含める必要があります。疑問符が2つ連続する場合、すなわち??は、属性が指定されていないことを示します。

たとえば、"(sn=Jensen)"に一致するエントリのすべての属性を戻す"dc=example,dc=com"からのサブツリー検索開始を指定するには、次のLDAP URLを使用します。

ldap://ldap.example.com/dc=example,dc=com??sub?(sn=Jensen)

URLで特定の属性が識別されていない場合、その検索におけるすべての属性が戻されます。

3.2 安全でない文字のエスケープ

URLにおける安全でない文字は、特定の文字列で表現される必要があります。次の表はURL内で安全でない文字をリスト表示しており、安全でない文字のかわりに使用するための、関連するエスケープ文字を示しています。

表3-2 URLにおいて安全でない文字

安全でない文字 エスケープ文字

スペース

%20

<


%3c

\>

%3e

"

%22

#


%23

%


%25

{


%7b

}


%7d

|


%7c

\\


%5c

^

%5e

~

%7e

[


%5b

]


%5d

"

%60


3.3 LDAP URLの例

LDAP URLの構文には、資格証明やパスワードを指定する方法は含まれていません。LDAP URLをサポートするLDAPクライアントによって認証メカニズムが提供されるにもかかわらず、LDAP URLを介して開始される検索リクエストは認証されません(匿名)。この項では、LDAP URLの例を示します。

例3-1 エントリのベース検索

次のLDAP URLで、識別名がdc=example,dc=comのエントリのベース検索を指定します。

ldap://ldap.example.com/dc=example,dc=com
  • ポート番号が指定されていないため、標準LDAPポート番号389が使用されます。

  • URLで属性が指定されていないため、この検索ではすべての属性が戻されます。

  • 検索範囲が指定されていないため、この検索は、ベース・エントリのdc=example,dc=comに限定されます。

  • フィルタが指定されていないため、このディレクトリはデフォルト・フィルタのobjectclass=*を使用します。

例3-2 エントリのpostalAddress属性の取得

次のLDAP URLで、DNがdc=example,dc=comであるエントリのpostalAddress属性を取得します。

ldap://ldap.example.com/dc=example,dc=com?postalAddress
  • 検索範囲が指定されていないため、この検索は、ベース・エントリのdc=example,dc=comに限定されます。

  • フィルタが指定されていないため、このディレクトリはデフォルト・フィルタのobjectclass=*を使用します。

例3-3 エントリのcnおよびmail属性の取得

次のLDAP URLでは、Barbara Jensenのcnおよびmail属性を取得します。

ldap://ldap.example.com/cn=Barbara%20Jensen,dc=example, dc=com?cn,mail
  • 検索範囲が指定されていないため、この検索は、ベース・エントリのcn=Barbara Jensen,dc=example,dc=comに限定されます。

  • フィルタが指定されていないため、このディレクトリはデフォルト・フィルタのobjectclass=*を使用します。

例3-4 dc=example,dc=com配下の姓Jensenの取得

次のLDAP URLは、姓がJensendc=example,dc=com配下のあらゆるレベルのエントリの検索を指定します。

ldap://ldap.example.com/dc=example,dc=com??sub?(sn=Jensen)
  • URLで属性が指定されていないため、この検索ではすべての属性が戻されます。

  • 検索範囲がsubであるため、この検索は、ベース・エントリのdc=example,dc comとベース・エントリ配下のすべてのレベルのエントリを網羅します。

例3-5 dc=example,dc=comより1レベル下のすべてのエントリに関するオブジェクト・クラスの取得

次のLDAP URLは、dc=example,dc=comより1レベル下のすべてのエントリについて、オブジェクト・クラス検索を指定します。

ldap://ldap.example.com/dc=example,dc=com?objectClass?one
  • 検索範囲がoneであるため、この検索は、ベース・エントリのdc=example,dc=comより1レベル下のすべてのエントリを網羅します。この検索範囲には、ベース・エントリは含まれません。

  • フィルタが指定されていないため、このディレクトリはデフォルト・フィルタのobjectclass=*を使用します。