4D v15

LDAP Search

ホーム

 
4D v15
LDAP Search

LDAP Search 


 

LDAP Search ( dnRootEntry ; filter {; scope {; attributes {; attributesAsArray}}} ) -> 戻り値 
引数   説明
dnRootEntry  文字 in 検索を開始するルートエントリーの識別名
filter  文字 in LDAP検索フィルター
scope  文字 in 検索のスコープ: "base" (デフォルト)、"one"、または"sub"
attributes  文字配列 in 取得する属性
attributesAsArray  ブール配列 in True = 属性を強制的に配列として返す; false = 属性を強制的に単純な変数として返す;
戻り値  Object in キー/値 属性

説明   

LDAP Search コマンドはターゲットとなるLDAPサーバー内にて、定義された条件に合致する最初のオカレンスを検索します。このコマンドはLDAP LOGIN によって開かれたLDAPサーバーへの接続の中で実行される必要があります(それ以外の場合にはエラー1003が返されます)。

dnRootEntry 引数には、LDAPサーバールートエントリーの識別名を渡します。検索はここのエントリーから開始されます。

filter 引数には、実行するLDAP検索フィルターを渡します。フィルター文字列はrfc2225 に準拠している必要があります。空の文字列("")を渡すことに寄って検索にフィルターをかけないこともできます。"*"は部分列の検索をサポートします。

scope 引数には、以下の"LDAP"テーマのどれか一つを渡します:

定数詳細
LDAP root onlyテキスト"base"dnRootEntry によって定義されたルートエントリーレベルのみを検索します(省略された場合のデフォルト)
LDAP root and nextテキスト"one"dnRootEntry によって定義されたルートエントリーレベルと、その1階層下のレベルにあるエントリーを検索します。
LDAP all levelsテキスト"sub"dnRootEntry によって定義されたルートエントリーレベルと、その下にある階層全てのエントリーを検索します。

attributes 引数には適合したエントリーから取得する全てのLDAP属性を一覧を格納するためのテキスト配列を渡します。デフォルトではこの引数が省略された場合、全ての属性が取得されます。

注: LDAP 属性名は大文字/小文字を区別するという点に注意して下さい。LDAP 属性についてのより詳細な譲歩運関しては、MS Active directory用の全ての属性をまとめてあるこちらのページ を参照して下さい。

デフォルトではコマンドは、複数の結果が見つかった場合には属性を配列として返し、単一の結果が見つかった場合には単純な変数として返します。attributesAsArray 引数を使用すると、定義したそれぞれの属性に対し、返される属性のフォーマットを指定することができます:

  • 要素にtrueを渡した場合、対応する要素のattributes 引数は配列として返されます。単一のエントリーが見つかった場合、コマンドは単一の要素を含む配列を返します。
  • 要素にfalse を渡した場合、対応する要素のattributes 引数は単純な変数として返されます。複数のエントリーが見つかった場合、コマンドは最初の要素のみを返します。

カンパニーディレクトリ内から、"smith"というユーザーの電話番号を取得したい場合を考えます:

 ARRAY TEXT($_tabAttributes;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes;"phoneNumber")
 LDAP LOGIN($url;$dn;$pwd)
 $filter:="cn=*smith*"
 $vfound:=LDAP Search($dnSearchRootEntry;$filter;LDAP all levels;$_tabAttributes)
 LDAP LOGOUT

"memberOf"属性で見つかった全てのエントリーを格納した配列を取得したい場合を考えます:

 C_OBJECT($entry)
 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"memberOf")
 APPEND TO ARRAY($_tabAttributes_asArray;True)
 
 LDAP LOGIN($url;$login;$pwd;LDAP password plain text)
 $entry:=LDAP Search($dnSearchRootEntry;"cn=adrien*";LDAP all levels;$_tabAttributes;$_tabAttributes_asArray)
 LDAP LOGOUT
 
 ARRAY TEXT($_arrMemberOf;0)
 OB GET ARRAY($entry;"memberOf";$_arrMemberOf)
  // $_arrMemberOf 内には、全てのエントリーグループを格納した配列が入っています



参照 

LDAP SEARCH ALL

 
プロパティ 

プロダクト: 4D
テーマ: カンパニーディレクトリ(LDAP)

 
履歴 

 
ARTICLE USAGE

4D v15 - アップグレードリファレンス(標準版) ( 4D v15)

Inherited from : LDAP Search ( 4D v15)