Jump to content
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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

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.