Saltar al contenido principal
Versión: 20 R7 BETA

LDAP Search

LDAP Search ( dnRootEntry ; filtro {; alcance {; atributos {; atributosEnArray}}} ) : Object

ParámetroTipoDescripción
dnRootEntryTextDistinguished Name del elemento raíz donde la búsqueda se inicia
filtroTextFiltro de búsqueda LDAP
alcanceTextCampo de acción de la búsqueda: "base" (por defecto), "one", o "sub"
atributosText arrayAtributo(s) a recuperar
atributosEnArrayBoolean arrayTrue = forzar el retorno de los atributos como array; False = forzar el retorno de los atributos como una variable simple
ResultadoObjectAtributos llave/valor

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando LDAP Search busca la primera ocurrencia que coincida con los criterios definidos en el servidor LDAP objetivo. Este comando debe ser ejecutado dentro de una conexión a un servidor LDAP abierta con RuntimeVLIncludeIt; de lo contrario se devuelve un error 1003.

En dnRootEntry, pase el Distinguished Name del elemento raíz del servidor LDAP; la búsqueda se iniciará a partir de este elemento.

En filtro, pase el filtro de búsqueda LDAP a aplicar. La cadena filtro debe ser compatible con rfc2225. Puede pasar una cadena vacía "" para no filtrar la búsqueda; el "*" se soporta para buscar subcadenas.

En alcance, pase una de las siguientes constantes del tema "LDAP":

ConstanteTipoValorComentario
LDAP all levelsCadenasubBuscar en el elemento raíz definido por dnRootEntry y en todas las ramas siguientes
LDAP root and nextCadenaoneBuscar en el nivel de entrada raíz definido por dnRootEntry y en las entradas directamente posteriores en un nivel
LDAP root onlyCadenabaseBuscar únicamente en el elemento raíz definido por dnRootEntry (se omite por defecto)

En atributos, pase un array texto que contiene la lista de todos los atributos LDAP a recuperar a partir de las entradas encontradas. Por defecto, si se omite este parámetro, todos los atributos se recuperan.

Nota: tenga en cuenta que los nombres de atributos LDAP distinguen entre mayúsculas y minúsculas. Para más información sobre los atributos LDAP, puede consultar esta página que lista todos los atributos disponibles para MS Active directory.

Por defecto, el comando devuelve los atributos en forma de colección si se encuentran varios resultados o en forma de variable si se encuentra un solo resultado. El parámetro opcional atributosEnArray permite "forzar" el formato de los atributos devueltos en colección o en variable para cada atributo definido:

  • Cuando pase true en un elemento, el elemento correspondiente del parámetro atributos será devuelto en una colección. Si se encuentra un solo valor, el comando devuelve una colección con un solo elemento.
  • Cuando pase false en un elemento, el elemento correspondiente del parámetro atributos será devuelto en una variable simple. Si se encuentran varias entradas, el comando devuelve sólo el primer elemento.

Ejemplo 1

Usted desea conseguir el número de teléfono del usuario "smith" en el directorio de la empresa:

 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

Ejemplo 2

Queremos obtener una array de todas las entradas que se encuentran en el atributo "memberOf":

 var $entry : Object
 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)
  // en $_arrMemberOf tenemos un array que contiene todos los grupos de la entrada

Ver también

LDAP
LDAP SEARCH ALL