Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

thinkbrunus

[RESOLVIDO] Autenticação PHP+LDAP

Recommended Posts

thinkbrunus

Viva!

Depois de desenvolver um sistema de login com várias ajudas, de entre as quais também a vossa, pretendo adaptar este sistema login via LDAP.

Tenho pesquisado várias matéria para entender como poderei integrar esta funcionalidade. Já encontrei alguns códigos, mas a minha dificuldade persiste em configurar o PHP para utilizar as funções LDAP. Pelo que percebi, quando executo a função phpinfo(); deveria ser apresentada a informação do módulo LDAP...

Para carregar este módulo LDAP, segui alguns conselhos que fui encontrando durante as pesquisas, tal como descomentar linha "extension=php_ldap.dll" nos ficheiros php5.ini e php.ini

Também já vi várias referencias aos ficheiros libsasl.dll, libeay32.dll, ssleay32.dll que devem estar na pasta "windows\system32", estes estão no meu sistema em directorias diferentes, especificamente C:\xampp\apache\bin, C:\xampp\apache\bin e C:\xampp\php nos dois restantes ficheiros, terá alguma influência?

Futuramente e na prática, pretendo instalar o site num servidor que por sua vez se conectará a outro servidor com o win server, e neste será feita e resolvida a autenticação. Dada a situação, julgo que apenas é necessário a configuração do apache e php no servidor onde vou colocar o site, certo?

Depois de seguir os procedimentos referidos, no phpinfo(); não aparece o módulo ldap, e quando chamo a função ldap_connect("servidor") dá-me o seguinte erro: Fatal error: Call to undefined function ldap_connect() in C:\xampp\htdocs\myLDAP\index.php on line 4

As buscas que tenho feito e as tentativas realizadas, não tenho tido sucesso...alguém me poderia dar algumas luzes sobre o assunto?

Abraços!

Share this post


Link to post
Share on other sites
djthyrax

No php.ini tens de descomentar o tal extension=php_ldap.dll. Depois desliga e volta a ligar o apache tenta outra vez ver o phpinfo(). Se não tiver lá nada sobre ldap, vê os logs do apache.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
thinkbrunus

Boas!

A tal linha extension=php_ldap.dll no php.ini já descomentei, e não me aparece nada de ldap no phpinfo().

Estive a ver os logs do apache e não acho nada de estranho...deveria dar algum erro ou alguma referência ao módulo ldap?

Share this post


Link to post
Share on other sites
djthyrax

Parece-me que o problema é que o PHP não está a encontrar dll. Mete a pasta do php_ldap.dll na PATH do windows ou então copia-o para o C:\Windows


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
thinkbrunus

Já tentei fazer o que disseste, primeiro coloquei o ficheiro php_ldap.dll em C:\windows e não funcionou, de seguida adicionei o caminho nas variáveis do windows e continua na mesma....

Pergunta parva, o ficheiro .php onde invoco a função ldap pode estar numa pasta no localhost (ex: http://localhost/myldap)? Ou tem de estar na raiz do localhost?

Share this post


Link to post
Share on other sites
thinkbrunus

Bem já consegui activar o módulo ldap no php, faltou apenas uns passos. Para quem tenha a mesma dúvida deixo de seguida os passos que segui:

1.Descomentar linha “extension=php_ldap.dll” nos ficheiros em “C:\xampp\php\php.ini” e “C:\xampp\php\php5.ini“;

2.Adicionar nas variáveis de sistema em “Control Panel > System > Advanced > Environment Variables”.

Seleccionar a variável de sistema “Path” e adicionar caminho onde se encontra o ficheiro “php.ini” e “php5.ini” (ex: C:\xampp\php).

Inserir nova variável “PHPRC” e inserir caminho da directoria onde está o “php.ini”;

3.Copiar ficheiros “php_ldap.dll”, “ssleay32.dll” e “libeay32.dll”.

Obrigado pela ajuda!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.