Publicidade   
 você está aqui: phpbrasil.com    artigos    artigo  
 
:: novos artigos ::

:: recomendado ::

PHP para a World Wide Web

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

Juan Roldán Esse usuário pertence aos 50 usuários mais ativos do site
Pontos: 4687

Visite a página de perfil de Pablo AugustoAutenticando no Active Directory com PHP via LDAP
por Pablo Augusto
Lista de Categorias  |  Contribua um Novo Artigo  |  Entre em Contato Conosco

Hoje em dia temos a necessidade de criar mecanismos de segurança que se adaptem a nossa realidade e não venham a impactar no trabalho do cliente (usuário), bem como sejam o mais simples e eficiente possível. Visto que a empresa onde trabalho conta com servidores de domínio Windows 2003 Server com AD integrado, resolvi procurar informações sobre o modo de autenticação via LDAP no AD via PHP. Confesso que no início isto parece muito complicado e difícil de se implementar, pois o material sobre este assunto em português (e até em inglês) não é muito didático nem abrangente.
Vote aqui!
Média de Votos Atual: 8.86
Total de Votos: 29
Nota:   

Tive muitas dificuldades para obter informações de como realmente o PHP se comunica com o LDAP, e de como implementar esta tecnologia em meu ambiente de trabalho, mas com um pouco de esforço (e algum conhecimento de inglês) consegui tornar esta uma realidade em minha empresa. Para outras pessoas, que como eu, queiram implementar esse tipo de autenticação esse artigo vai ser muito útil.

O que é o LDAP

O Lightweight Directory Access Protocol (LDAP) é um protocolo para acesso e modificação de informações de diretório através da rede. O LDAP permite que você localize pessoas, organizações, e outros recursos tais como arquivos e dispositivos na rede, seja na Internet ou numa Intranet.

Para entendermos melhor podemos tomar como comparação os programas de banco de dados. O MySQL, MSSQL Server e Oracle dentre tantos outros são SGBDs com características e definições próprias, mas para qualquer um a linguagem universal de comunicação e acesso a dados é o SQL. O LDAP nada mais é, do que a linguagem de comunicação entre qualquer aplicação com o Active Directory.

Mais informações sobre o LDAP:
- LDAP Zone http://www.ldapzone.com/
- ldapman.org http://www.ldapman.org/ apresenta alguns bons artigos introdutórios.
- The LDAP Schema Repository http://ldap.akbkhome.com/ esse é indispensável.

Isto depende muito do cenário tecnológico no qual que você se encontra. O requisito mínimo indispensável para que você possa desfrutar desta tecnologia, é ter acesso à um ambiente que conte com algum servidor da plataforma WINDOWS que ofereça o recurso do AD (Active Directory). Se você já não se enquadra neste requisito não há possibilidades, até onde conheço, para realizar tal tarefa.

O segundo requisito é você entender a estrutura do AD de seu domínio. No meu caso foi à parte realmente mais complicada pois, a empresa no qual trabalho tem uma arvore de AD muito vasta e complexa, contando com muitos usuários subdivididos em vários domínios e em suas respectivas Ous (Organizations Units). Se você não entende muito bem essa linguagem, recomendo que pesquise informações sobre como funciona o AD antes de prosseguir, abaixo seguem link de sites que podem ajudar no processo de aprendizado sobre o AD:

- http://www.microsoft.com/brasil/technet/centralwindows/centromigracao/activedirectory/gerenciando.mspx
- http://support.microsoft.com/default.aspx?scid=kb;en-us;325284

Agora que já conhece o PHP, LDAP e o AD, você tem respaldo suficiente para analisar (tomando como base o contexto no qual sua empresa ou cliente esta inserido) para avaliar se esta é a melhor solução a se adequar ao seu caso. Lembre-se cada caso é um caso, e por isso devemos analisar cuidadosamente todos os casos antes de definir qual o melhor método de autenticação para nossa(s) aplicação(ões).




<< Anterior 1 2 3 4 Próxima >>

 
Imprimir  |  Enviar para um Amigo


Comentários de Usuários

muito obrigado
publicado por hinom Esse usuário pertence aos 50 usuários mais ativos do site - 2005-08-23 00:41:58

muito bom o artigo,
eu nao tinha muita nocao do que era o LDAP

eu evito ao máximo desenvolver sistemas que fiquem presos à um tipo de sistema operacional ou um tipo de estrutura.

mas é bom entender sobre o assunto.

De nada
publicado por Pablo Augusto - 2005-09-06 16:54:11

Sim na maioria das vezes realmente não é bom criar um sistema atrelado a um sistema operacional ... mas dependendo do caso .. pode ser muito util e até indispensável. No meu caso todo e qualquer usuario para ter acesso a maquina precisa ter uma conta de usuario (no AD), então como é um sistema corporativo, que roda apenas na empresa, e que pode ser usado em qualquer sistema operacional cliente por que não facilitar o codigo de programação de deixar o sistema mais enxuto e corporativo? A casos s casos, entendo e respeito sua opnião, mas nesse caso em especifico a empresa não tem nehum previsão de nos proximos 10 anos mudar a plataforma de seus servidores =P...

Ha outra curiosidade, ja ha formas de criar (ou replicar) o AD do windows em sistemas unix como Linux, FreeBSD, Solaris, etc ...

um abraço ...

Dúvidas
publicado por Paulo Santos - 2005-09-06 22:36:42

Gostaria de saber se tem como eu gardar a validação do ldap em sessions ou cookies para verificação posterior.
Tipo o usuário loga no sistema com o username e a senha do ldap, o script grava em uma session e dai libera uma página restrita!
Seria possível???
Se sim como eu poderia fazer??

Re: Dúvidas
publicado por Pablo Augusto - 2005-09-06 23:48:06

Com Certeza,

Voce pode proceder normalmente ...

Por exemplo, assim qeu o usuário for autenticado com a função que eu disponibilizei no site, ao envez de escrever "usuario aurenticado!!!" você vai inserir o codigo para gerar sua session e inserir os dados do usuario na mesma ..

qualquer duvida é só falar

PHP + AD + RADIUS
publicado por Airton - 2005-09-13 10:51:47

Alguém já trabalhou com integração com o LDAP + RADIUS?

Um começo
publicado por Pablo Augusto - 2005-09-13 12:24:32

Um bom começo é pesquisar no google, (pai dos burros online .. srrsr)

em apenas 5 minutos eu consegui bons sites ...


de uma olhada :

http://www.google.com.br/search?hl=pt-BR&q=radius+php+ldap+integracao&meta=cr%3DcountryBR

Show de Bola
publicado por ramonklown - 2005-09-19 20:28:28

(Aplausos) Na internet não tem material neste assunto, é muito raro conforme o caro autor disse, até em inglês.
Parabéns, great job!

Muito bom
publicado por Helton Eduardo Ritter - 2006-02-06 03:29:25

Exatamente o que eu precisava! Excelente artigo e extremamente útil. Bom ter pessoas que contribuam com a comunidade. Parabéns!

Próximo artigo.
publicado por Click - 2006-03-05 16:58:56

Ótimo seu artigo sobre LDAP, bem didático. Estou na expectativa do seu próximo artigo sobre LDAP.
Parabéns!

Faltou
publicado por filipesg - 2006-03-27 06:53:22

Faltou dizer aí que precisa copiar as dlls libeay32.dll e ssleay32.dll para o windows\system32. E também um bom link http://br.php.net/manual/pt_BR/ref.ldap.php

LDAP
publicado por diego silva - 2007-09-17 11:13:42

Ola amigo gostaria de saber o seguinte, tenho que configurar no php.ini e habilitar a extensions tambem, e oque mais precisa fazer pois nao esta funcionando o php nao esta reconhecendo as funções do ldap!
aguardo sua resposta.

duvida
publicado por mousefun - 2007-10-09 14:41:50

usei os codigos de exemplo deste artigos mas as paginas resultam em conteudo em branco!!!

Publique os seus Comentários

Nome:
Email:
Título:
Comentário:

NOTA: Cadastre-se no site para poder publicar comentários.

 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 1.104 segundos