Funciones LDAP¶
Introducción¶
LDAP (Protocolo ligero de acceso a directorios) es un protocolo que le permite buscar y actualizar un directorio. Es compatible con numerosos servidores de directorio, como Microsoft Active Directory y Netscape Directory Server. Un directorio suele contener información sobre usuarios y recursos de red, pero puede contener cualquier tipo de datos. Estas funciones permiten que los secuencias de comandos y las transformaciones se conecten a un directorio mediante LDAP. Estas funciones se utilizan independientemente del conector LDAP, que tiene una funcionalidad similar integrada en el conector.
El patrón de uso sigue estos pasos:
LDAPConnect
: Establece una conexión con el servidorLDAPAdd
,LDAPReplace
,LDAPRemove
,..: Cola de acciones a tomarLDAPExecute
: Ejecuta la cola en el servidor.
Para buscar, puedes seguir este patrón:
LDAPConnect
: Establece una conexión con el servidorLDAPSearch
: Ejecuta la búsqueda en el servidor y devuelve el resultado
Establecer Contraseñas LDAP Mediante Programación¶
A partir de la versión 9.9 de Harmony, las contraseñas LDAP se pueden configurar utilizando estas funciones LDAP. La contraseña primero debe convertirse a binaria antes de poder establecerla. (Es posible que sea necesario encerrar la contraseña entre comillas dobles antes de la conversión a binario, ya que Active Directory requiere que los valores estén entre comillas dobles). Este fragmento de secuencia de comandos muestra cómo se puede lograr esto:
LDAPConnect("directory.company.example.com:10389", "admin", $adminpassword, 0);
$plain = '"J1tterb1t!@#"';
$pwd = StringToHex($plain);
$i=0;
$newPwd = "";
While($i < Length($pwd)/2,
$newPwd = $newPwd + Mid($pwd, $i * 2, 2) + "00";
$i = $i+1;
);
$newPwd = HexToBinary($newPwd);
LDAPReplace("unicodePwd", $newPwd);
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
ArrayToMultipleValues
¶
Declaración¶
string ArrayToMultipleValues(array arr)
Sintaxis¶
ArrayToMultipleValues(<arr>)
Parámetros Requeridos¶
arr
: Una matriz con valores que se utilizarán para completar un atributo LDAP de valores múltiples
Descripción¶
Indica que se debe utilizar una matriz para completar un atributo LDAP de valores múltiples al asignarlo a un destino LDAP. La matriz se convierte a XML y se interpreta cuando se escribe en el servidor LDAP.
Ejemplos¶
// Create two LDAP attributes using an array
arr = Array();
// Length(arr) will always return the index of
// the next-after-last element of an array
arr[Length(arr)] = "First instance";
arr[Length(arr)] = "Second instance";
// The array will be converted to the string
// "<JB_Array><it>First instance</it><it>Second instance</it></JB_Array>"
result = ArrayToMultipleValues(arr);
LDAPAdd
¶
Declaración¶
bool LDAPAdd(string ldapType, string ldapValue)
Sintaxis¶
LDAPAdd(<ldapType>, <ldapValue>)
Parámetros Requeridos¶
ldapType
: El registro LDAP o tipo de atributoldapValue
: El valor que se agregará para el tipo
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez establecida la conexión, el LDAPAdd
La función se utiliza para agregar entradas y atributos al directorio LDAP conectado. El valor se agrega al nodo especificado en el LDAPExecute
función, que debe llamarse inmediatamente después para que los cambios surtan efecto.
Ver también el LDAPConnect
y LDAPExecute
funciones.
Ejemplos¶
// Adding a user entry to a directory:
LDAPAdd("objectClass", "user");
LDAPAdd("cn", "wright");
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
// Adding attributes to a user:
LDAPAdd("description", "Thinks a lot.");
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
LDAPConnect
¶
Declaración¶
bool LDAPConnect(string hostname, string user, string password[, int mode, long port])
Sintaxis¶
LDAPConnect(<hostname>, <user>, <password>[, <mode>, <port>])
Parámetros Requeridos¶
hostname
: Nombre de host de un servidor LDAP al que conectarse; puede incluir un puerto, comodirectory.example.com:10389
user
: Nombre de usuario para conectarse al alojar LDAPpassword
: Contraseña que se utilizará para conectarse al alojar LDAP
Parámetros Opcionales¶
-
mode
: Modo de conexión; uno de:0
: Conexión no segura; puerto predeterminado: 3891
: Conexión segura; puerto predeterminado: 3892
: Conexión segura mediante LDAP sobre SSL; puerto predeterminado: 636
-
port
: Puerto a utilizar para conectarse al alojar LDAP (-1
indica utilizar los puertos LDAP predeterminados)
Descripción¶
Se conecta a un directorio mediante LDAP.
Ver también el LDAPExecute
función.
Consejo
Al usar este comando, use una variable de proyecto Jitterbit para almacenar la contraseña de una manera segura que no será visible cuando se vea el secuencia de comandos.
Ejemplos¶
// Connects to an LDAP server using hostname:port, username, password, mode
connected = LDAPConnect("directory.company.example.com:10389", "admin", $adminpassword, 0);
LDAPDeleteEntry
¶
Declaración¶
bool LDAPDeleteEntry(string distinguishedName)
Sintaxis¶
LDAPDeleteEntry(<distinguishedName>)
Parámetros Requeridos¶
distinguishedName
: Un nombre distinguido LDAP que se eliminará del servidor actualmente conectado
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez establecida la conexión, el LDAPDeleteEntry
La función se utiliza para eliminar una entrada especificada por un nombre distinguido.
Ver también el LDAPConnect
y LDAPExecute
funciones.
Ejemplos¶
LDAPDeleteEntry("CN=wright,CN=Users,DC=company,DC=example,DC=com");
LDAPExecute
¶
Declaración¶
bool LDAPExecute(string distinguishedName)
Sintaxis¶
LDAPExecute(<distinguishedName>)
Parámetros requeridos:
distinguishedName
: Un nombre distinguido LDAP en el servidor actualmente conectado
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez establecida la conexión, el LDAPExecute
La función se utiliza para ejecutar una o más modificaciones (agregar, eliminar, reemplazar) que se han especificado previamente con el LDAPAdd
, LDAPRemove
, o LDAPReplace
funciones.
Ver también el LDAPConnect
y LDAPExecute
funciones.
Ejemplos¶
// Adding LDAP entries and executing them
LDAPAdd("description", "Thinks a lot.");
LDAPReplace("telephoneNumber", "(510) 555 1000");
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
LDAPRemove
¶
Declaración¶
bool LDAPRemove(string ldapType, string ldapValue)
Sintaxis¶
LDAPRemove(<ldapType>, <ldapValue>)
Parámetros Requeridos¶
ldapTyp
: El tipo de atributo LDAPldapValue
: El valor que se eliminará para el tipo de atributo especificado
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez que se establece una conexión, el LDAPRemove
La función se utiliza para eliminar un atributo de un tipo específico y con un valor específico.
Si no se encuentra el tipo de atributo de ese valor, se genera un error. Ver también el LDAPConnect
y LDAPExecute
funciones.
Ejemplos¶
// Removing an LDAP entry and executing it
LDAPRemove("telephoneNumber", "(510) 555-1000");
LDAPAdd("telephoneNumber", "(510) 555-2000");
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
LDAPRename
¶
Declaración¶
bool LDAPRename(string distinguishedName, string newRDN[, string newParent, bool deleteOldRDN])
Sintaxis¶
LDAPRename(<distinguishedName>, <newRDN>[, <newParent>, <deleteOldRDN>])
Parámetros Requeridos¶
distinguishedName
: La ruta de la entrada del directorio (nombre distinguido) cuyo nombre se va a cambiarnewRDN
: El nuevo nombre distinguido relativo
Parámetros Opcionales¶
newParent
: El nombre completo del nuevo padre de esta entrada; el valor predeterminado está vacíodeleteOldRDN
: Sitrue
, se eliminará el antiguo nombre distinguido relativo; el valor predeterminado esfalse
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez que se establece una conexión, el LDAPRename
La función se utiliza para cambiar el nombre completo de una entrada en el directorio conectado.
Ver también el LDAPConnect
y LDAPExecute
funciones.
Ejemplos¶
LDAPRename("telephoneNumber", "telephoneNumberHome");
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
LDAPReplace
¶
Declaración¶
bool LDAPReplace(string ldapType, string ldapValue)
Sintaxis¶
LDAPReplace(<ldapType>, <ldapValue>)
Parámetros Requeridos¶
ldapType
: El registro LDAP o tipo de atributoldapValue
: El nuevo valor que se establecerá para el tipo
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez que se establece una conexión, el LDAPReplace
La función se utiliza para reemplazar el valor de un atributo existente con un nuevo valor.
Ver también el LDAPConnect
y LDAPExecute
funciones.
Nota
Si usas LDAPReplace
Para reemplazar el valor de un atributo existente con un nuevo valor en Active Directory, el texto se puede convertir a un resultado diferente al de la entrada. Por ejemplo, François devolvería FrançOis. Para obtener más información sobre cómo agregar compatibilidad con UTF-8, consulte LDAP entrada en Editar el archivo de configuración (jitterbit.conf).
Ejemplos¶
// Replacing an LDAP entry and executing it
LDAPReplace("telephoneNumber", "(510) 555-1000");
LDAPExecute("CN=wright,CN=Users,DC=company,DC=example,DC=com");
LDAPSearch
¶
Declaración¶
string LDAPSearch(string path, string filter, int detail, string attribute1[, ... string attributeN])
Sintaxis¶
LDAPSearch(<path>, <filter>, <detail>, <attribute1>[, ... <attributeN>])
Parámetros Requeridos¶
path
: El nombre distinguido utilizado como base de la búsquedafilter
: Un filtro de búsqueda de cadena de consultar, según lo definido por RFC 4515**-
detail
: Detalles a devolver:0
: Pase para devolver una cadena simple que es el primer atributo encontrado que coincide con el filtro1
: Pase para devolver una representación XML de los resultados de la búsqueda. Esto se puede establecer en un elemento de datos usando elSet
función y luego se accede más tarde usandoGet
y una consultar XPath utilizando elSelectSingleNode
función.2
: Pase para devolver una matriz bidimensional, donde cada fila representa una entrada LDAP y donde los elementos de la fila son los valores de los atributos. Accede a los elementos mediante elGet
función.
-
attribute,... attributeN
: Un atributo que se incluirá en el resultado de la búsqueda (en otras palabras, el atributo que está buscando). Se pueden especificar atributos adicionales; sepárelos por comas.
Descripción¶
Para utilizar esta función, el LDAPConnect
La función debe usarse primero para establecer una conexión con el directorio LDAP.
Una vez que se establece una conexión, el LDAPSearch
La función se utiliza para buscar dentro del directorio conectado.
Ver también el LDAPConnect
y LDAPExecute
funciones.
Control de Variables Jitterbit¶
Estas variables de Jitterbit afectan la búsqueda:
Variables | Valor(es) | Descripción |
---|---|---|
jitterbit.scripting.ldap.scope | 0 | Limite el alcance de la consultar únicamente a la entrada base |
1 | Busque todas las entradas en el primer nivel debajo de la entrada base, excluyendo la entrada base (predeterminado) | |
2 | Busque la entrada base y todas las entradas en el árbol debajo de la base | |
jitterbit.scripting.ldap.include_dn_in_results | true | Incluya el nombre distinguido en el resultado de la búsqueda (predeterminado: false ) |
jitterbit.scripting.ldap.use_paged_search | true | Utilice una búsqueda paginada; útil para recuperar conjuntos de resultados grandes (predeterminado: false ) |
jitterbit.scripting.ldap.max_search_results | n | Limite el número de resultados de búsqueda a n resultados; El servidor LDAP suele establecer un valor predeterminado (el valor predeterminado es ilimitado: -1 ) |
jitterbit.scripting.ldap.return_null_if_no_results | true | Haga que LDAPSearch() devuelva nulo si la búsqueda no arroja ningún resultado (predeterminado: falso) |
Ejemplos¶
// Connecting to an LDAP server using a password set
// in a global variable ("$ldapPassword") and then performing a search
LDAPConnect("directory.company.example.com", "ghvwright", $ldapPassword, 0);
directorySearchResults = LDAPSearch("CN=Users,DC=company,DC=example,DC=com",
"(&(objectCategory=person)(objectClass=user))", 1, "name", "whenCreated",
"description", "telephoneNumber");