PHP LDAP – Autenticação de usuários

Posted by Bento | Posted in Apache, Banco de Dados, Infraestrutura, PHP, Servidor Web, Sistemas Operacionais, Web Design, Windows | Posted on 29-06-2015-05-2008

8

PHP LDAP – Autenticação de usuários

Olá pessoal, neste artigo de hoje estarei abordando a conexão/autenticação de usuários PHP  via LDAP. (pode ser usada para autenticar no Active Directory do windows server), criar um login unificado.

Está conexão será utilizada em uma abordagem para projeto de criação de Intranet Corporativa básica, com poucas funcionalidades e que poderá ser aprimoradas conforme as necessidades surgirem.

 

O que é LDAP?

https://pt.wikipedia.org/wiki/LDAP

Uma utilização comum do LDAP é fornecer um “logon único” onde uma senha para um usuário é compartilhada entre muitos serviços, como a aplicação de um código de login da companhia para páginas web (de forma que a equipe loga apenas uma vez aos computadores da companhia e então são automaticamente logadas na intranet da companhia).

1º Passo – O primeiro passo é a configuração do PHP .

PHP LDAP

http://php.net/manual/pt_BR/book.ldap.php

Localize o arquivo php.ini dentro do diretório de instalação do servidor web (apache), e em seguida abra usando um editor de texto(notepad, edit plus, sublime…).

Encontre a linha ;extension=php_ldap.dll e remova o (;)ponto e vírgula no inicio, salve, feche e reinicie o serviço do servidor web (apache)

 

2º Passo – Criação do arquivo de conexão

<?php

$ldap_server = “srv01.fabianobento.com.br”;
$dominio = “@bento”; //Dominio local ou global
$user = “administrador”.$dominio;
$ldap_porta = “389”;
$ldap_pass   = ‘senha-teste’;
$ldapcon = ldap_connect($ldap_server, $ldap_porta) or die(“Could not connect to LDAP server.”);

if ($ldapcon){

// binding to ldap server
//$ldapbind = ldap_bind($ldapconn, $user, $ldap_pass);

$bind = ldap_bind($ldapcon, $user, $ldap_pass);

// verify binding
if ($bind) {
echo “LDAP bind successful…”;
} else {
echo “LDAP bind failed…”;
}

}

?>

LDAP bind successful…

 

 

 

Comments posted (8)

não são apenas estes dois passos, pode enviar os outros para mim? está tudo bem explicado. eu clico em “read More” mas não aparece o resto do post. desde já agradeço

Jesonilton,

Para criar um arquivo de atenticação são apenas estes passos, pode informar se ocorreu algum erro?

cara, muito obrigado! tava precisando de um simples assim q funcionasse, valeu!

Obrigado pela visita!

Parabéns. Funcionou de primeira. tentei vários que não deram certo.

Obrigado pela visita Sidney! =D

Amigo, no meu deu o erro:

Fatal error: Call to undefined function ldap_connect()

Porém, ao chamar o phpinfo() está aparecendo o LDAP. Saberia dizer pq desse erro?

Olá Tassio,

Crie um arquivo e chame phpinfo(); e veja se a extensão está carregada.
Caso já tenha habilitado a extensão, pode ser que o arquivo (php_ldap.dll) não exista no diretório do PHP/Apache, neste caso é necessário baixar no site php.net o arquivo compatível com a versão instalada e incluir na pasta do PHP.

Write a comment