Teteu 0 Denunciar post Postado Fevereiro 15, 2008 Olá a todos, alguém sabe como fazer a validação do usuário numa intranet, desenvolvida em php, usando Active Directory, ou quando o usuário for abrir a intranet fazer a validação automática do usuário, através do Active Directory? achei esse código mas não funcionou como esperado <?php function valida_ldap($srv, $usr, $pwd) { $ldap_server = $srv; $auth_user = $usr; $auth_pass = $pwd; // Tenta se conectar com o servidor if (!($connect = @ldap_connect($ldap_server))) { return FALSE; } // Tenta autenticar no servidor if (!($bind = @ldap_bind($connect, $auth_user, $auth_pass))) { // se não validar retorna false return FALSE; } else { // se validar retorna true return TRUE; } } // fim função conectar ldap // EXEMPLO do uso dessa função if (valida_ldap("servidor", "dominio\usuario", "senha")) { echo "usuário autenticado"; } else { echo "usuário ou senha inválida"; } ?> retirado do site www.uebsite.com.br autor Pablo Augusto Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Fevereiro 15, 2008 nunca usei ldap mas da uma olhada ve se ajuda http://br2.php.net/manual/pt_BR/ref.ldap.php Compartilhar este post Link para o post Compartilhar em outros sites
Teteu 0 Denunciar post Postado Fevereiro 16, 2008 Ai Goruks deu trampo mas consegui resolver o assunto.... o que faltava era copiar as dlls.... Depois de um dia e meio me matando para conseguir fazer esse negócio funcionar.... ai vai a solução para o problema que eu tinha..... Para que se possa ser feita a validação usando Active Directory, é necessário descomentar no php.ini a linha: extension=php_ldap.dll (e salvar as alterações) Após salvar as alterações do php.ini copiar ele para a pasta C:/windows (no win xp) Copiar as dlls para c:/windows/system32 (isso no win xp) libeay32.dll ssleay32.dll Para finalizar pare o apache e inicie de novo. No meu cão foi preciso, parar o apache e fechar o programa que usar para desenvolver. O código que estou usando para fazer a validação é: <?php function valida_ldap($srv, $usr, $pwd) { $ldap_server = $srv; $auth_user = $usr; $auth_pass = $pwd; // Tenta se conectar com o servidor if (!($connect = @ldap_connect($ldap_server))) { return FALSE; } // Tenta autenticar no servidor if (!($bind = @ldap_bind($connect, $auth_user, $auth_pass))) { // se não validar retorna false return FALSE; } else { // se validar retorna true return TRUE; } } // fim função conectar ldap // EXEMPLO do uso dessa função if (valida_ldap("endereçoIP_ou_nomeServidor", "dominio\usuario", "senha")) { echo "usuário autenticado"; } else { echo "usuário ou senha inválida"; } ?> Foi retirado do site: http://www.phpbrasil.com/articles/article....erRow/1/id/1013 Espero ajudar quem mais esteja interessado sobre o assunto... Compartilhar este post Link para o post Compartilhar em outros sites
Teteu 0 Denunciar post Postado Maio 15, 2008 Pequena atualização. Para identificar o usuário automaticamente. <script> function teste() { var objWshShell = new ActiveXObject("WScript.Shell"); var strUsername = objWshShell.ExpandEnvironmentStrings("%USERNAME%"); alert(strUsername); return false; } </script> Com esse script quando é aberta a página, já é identificado qual usuário está logado no AD... só colocar na opção onLoad no body. valeu até mais Compartilhar este post Link para o post Compartilhar em outros sites