sc_ldap_login($server, $version, $user, $password, $dn, $group, $port, $biblioteca)

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; // O dejar vacío para utilizar la biblioteca antigua "adLdap"

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
        )
)