|
La macro sc_ldap_login es responsable de establecer la conexión con el servidor LDAP (Lightweight Directory Access Protocol), permitiendo la conexión con Active Directory (AD). También define el comportamiento de las demás macros LDAP a través del parámetro $biblioteca, que especifica la biblioteca a utilizar (LdapRecord o adLdap).
Sintaxis
sc_ldap_login($server, $version = '', $user = '', $password = '', $dn = '', $group = '', $port, $biblioteca);
Parámetros
| Parámetro |
Descripción |
$server |
Dirección IP o nombre del servidor LDAP. |
$version |
Versión del protocolo LDAP a utilizar (ejemplo: 3). Si se deja vacío, se usará la versión predeterminada del servidor. |
$user |
Nombre de usuario para autenticación en LDAP. Debe estar en el formato esperado por el servidor, como cn=admin,dc=empresa,dc=com o user@empresa.com. |
$password |
Contraseña del usuario utilizada para iniciar sesión en LDAP. |
$dn |
Distinguished Name (DN) que define el punto de búsqueda de los usuarios. Ejemplo: "dc=empresa,dc=com". |
$group |
Opcionalmente, se puede especificar un grupo para verificar la asociación del usuario. |
$port |
Puerto utilizado para la conexión con el servidor LDAP (389 para conexiones estándar y 636 para conexiones seguras mediante SSL). |
$biblioteca |
Este parámetro define qué biblioteca se utilizará para la conexión con LDAP.
- Si se proporciona el valor
2, la macro usará la nueva biblioteca (LdapRecord), disponible a partir de la versión 9.12 de Scriptcase.
- Si no se proporciona el parámetro, la macro continuará utilizando la biblioteca antigua (
adLdap).
Esta configuración permite que los proyectos antiguos sigan funcionando sin modificaciones, mientras que las nuevas implementaciones pueden beneficiarse de la mayor compatibilidad y seguridad de LdapRecord.
|
Ejemplo de uso
$server = "ldap.miservidor.com";
$version = "3";
$user = "cn=admin,dc=empresa,dc=com";
$password = "contraseña123";
$dn = "dc=empresa,dc=com";
$group = "";
$port = 389;
$biblioteca = 2;
sc_ldap_login($server, $version, $user, $password, $dn, $group, $port, $biblioteca);
Retorno Esperado
Array
(
[0] => Array
(
[sn] => Array
(
[count] => 1
[0] => Newton
)
[0] => sn
[objectclass] => Array
(
[count] => 4
[0] => inetOrgPerson
[1] => organizationalPerson
[2] => person
[3] => top
)
[1] => objectclass
[uid] => Array
(
[count] => 1
[0] => newton
)
[2] => uid
[mail] => Array
(
[count] => 1
[0] => newton@ldap.forumsys.com
)
[3] => mail
[cn] => Array
(
[count] => 1
[0] => Isaac Newton
)
[4] => cn
[count] => 5
[dn] => uid=newton,dc=example,dc=com
)
)
|