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