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

A macro sc_ldap_login é responsável por estabelecer a conexão com o servidor LDAP (Lightweight Directory Access Protocol), permitindo conexão com Active Directory (AD), e baliza o funcionamento das demais macros do LDAP, através do parâmetro $biblioteca que define a biblioteca utilizada (LdapRecord ou adLdap).

Sintaxe

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

Parâmetros

Parâmetro Descrição
$server Endereço IP ou hostname do servidor LDAP.
$version Versão do protocolo LDAP a ser usada (exemplo: 3). Se vazio, assume a versão padrão do servidor.
$user Nome de usuário para autenticação no LDAP. Deve estar no formato esperado pelo servidor, como cn=admin,dc=empresa,dc=com ou user@empresa.com.
$password Senha do usuário utilizado para login no LDAP.
$dn Distinguished Name (DN) que define o ponto de pesquisa dos usuários. Exemplo: "dc=empresa,dc=com".
$group Opcionalmente, pode ser informado um grupo para verificar a associação do usuário.
$port Porta usada para conexão com o servidor LDAP (389 para conexões normais e 636 para conexões seguras via SSL).
$biblioteca

Este parâmetro define qual biblioteca será utilizada para a conexão com o LDAP.

  • Se o valor 2 for informado, a macro utilizará a nova biblioteca (LdapRecord), disponível a partir da versão 9.12 do Scriptcase.
  • Se o parâmetro não for informado, a macro continuará utilizando a biblioteca antiga (adLdap).

Esse controle permite que projetos antigos continuem funcionando sem modificações, enquanto novas implementações podem se beneficiar da compatibilidade e segurança aprimoradas do LdapRecord.

 

Exemplo de uso

$server = "ldap.meuservidor.com";
$version = "3";
$user = "cn=admin,dc=empresa,dc=com";
$password = "senha123";
$dn = "dc=empresa,dc=com";
$group = "";
$port = 389;
$biblioteca = 2; // Ou sem valor para utilizar a biblioteca antiga "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
        )
)