4D v16.3LDAP Search |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
LDAP Search
|
LDAP Search ( dnRootEntry ; filter {; scope {; attributes {; attributesAsArray}}} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
dnRootEntry | 文字 |
![]() |
検索を開始するルートエントリーの識別名 | |||||
filter | 文字 |
![]() |
LDAP検索フィルター | |||||
scope | 文字 |
![]() |
検索のスコープ: "base" (デフォルト)、"one"、または"sub" | |||||
attributes | テキスト配列 |
![]() |
取得する属性 | |||||
attributesAsArray | ブール配列 |
![]() |
True = 属性を強制的に配列として返す; False = 属性を強制的に単純な変数として返す | |||||
戻り値 | Object |
![]() |
キー/値 属性 | |||||
LDAP Search コマンドはターゲットとなるLDAPサーバー内にて、定義された条件に合致する最初のオカレンスを検索します。このコマンドはRuntimeVLIncludeIt によって開かれたLDAPサーバーへの接続の中で実行される必要があります(それ以外の場合にはエラー1003が返されます)。
dnRootEntry 引数には、LDAPサーバールートエントリーの識別名を渡します。検索はここのエントリーから開始されます。
filter 引数には、実行するLDAP検索フィルターを渡します。フィルター文字列はrfc2225 に準拠している必要があります。空の文字列("")を渡すことに寄って検索にフィルターをかけないこともできます。"*"は部分列の検索をサポートします。
scope 引数には、以下の"LDAP"テーマのどれか一つを渡します:
定数 | 型 | 値 | コメント |
LDAP all levels | 文字列 | sub | dnRootEntry で定義されたルートエントリーレベルと、それ以下の全てのエントリー内を検索 |
LDAP root and next | 文字列 | one | dnRootEntry で定義されたルートエントリーレベルと、その一つ下のエントリー内を検索 |
LDAP root only | 文字列 | base | dnRootEntry で定義されたルートエントリーレベル内のみを検索 |
attributes 引数には適合したエントリーから取得する全てのLDAP属性を一覧を格納するためのテキスト配列を渡します。デフォルトではこの引数が省略された場合、全ての属性が取得されます。
注: LDAP 属性名は大文字/小文字を区別するという点に注意して下さい。LDAP 属性についてのより詳細な譲歩運関しては、MS Active directory用の全ての属性をまとめてあるこちらのページ を参照して下さい。
デフォルトではコマンドは、複数の結果が見つかった場合には属性をコレクションとして返し、単一の結果が見つかった場合には単純な変数として返します。attributesAsArray 引数を使用すると、定義したそれぞれの属性に対し、返される属性のフォーマットを、コレクションまたは変数に指定することができます:
カンパニーディレクトリ内から、"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 内には、全てのエントリーグループを格納した配列が入っています
プロダクト: 4D
テーマ: LDAP
番号:
1328
初出: 4D v15
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)