Páginas

segunda-feira, 12 de setembro de 2016

Joomla 3 Integrado com LDAP (Active Directory)


No meu cenário estou utilizando um Ubuntu Server 16 rodando em uma VM, o servidor foi instalado com uma configuração básica, sem grandes recursos apenas para rodar o Joomla 3.

Após a instalação e configuração do PHP, MYSQL, APACHE e Joomla 3 foi necessário instalar o php-ldap
Sudo apt-get install php-ldap
E também necessário descomentar a linha do php.ini que contem o seguinte texto:
extension=php_ldap.dll 
Reiniciar o apache:
sudo service apache2 restart
Verificar no php.info se a autenticação LDAP está habilitada

Pode-se também utilizar o script abaixo para verificar a autenticação do LDAP

<?php
$ldaprdn="usuario";
$ldappass="senha";

//conectando LDAP
$ldapconn=ldap_connect("ip_do_servidor_ldap");
    or die ("Não foi possivel conectar so Servidor LDAP");

if($ldaoconn){
    $ldapbind=ldap_bind($ldapconn,$ldaprdn,$ldappass);
    
    //verificando a conexão
    if($ldapbind){
        echo("Conexão com Sucesso!");
    } else {
        echo("Conexão Falhou");
    }

}
?>


Feito isto no Joomla na Aba Extensões -> Plugins buscar o plugin Authentication - LDAP
Ativar o Plugin!
SERVIDOR: IP ou nome host do servidor LDAP(AD)
PORTA: 389 ou outra porta que tenha sido configurada
LDAP V3: SIM
NEGOCIAÇÃO TLS: Não
SEGUIR REFERENCIAS: Não
MÉTODO DE AUTORIZAÇÃO: Vincular e buscar (Bind and Search)
DN BASE: DC=domínio, DC=com, DC=br
CARACTERES DE CONSULTA (Search String): sAMAccountName=[search]
USUÁRIO DO DN (User´s DN): usuario_com_permissao_para_consultas_no_diretorio@dominio.com.br
USUÁRIO DE CONEXÃO (Connect Username): login_do_usuario
SENHA DE CONEXÃO (Connect Password): senha_do_usuario
MAPA: NOME COMPLETO (Map: Full Name): displayName
MAPA: E-MAIL (Map: Email): userPrincipalName
MAPA: USER ID (Map: User ID): sAMAccountName

Após configurar o plugin verifique se o plugin "Usuários - Joomla!" (Users - Joomla!") está com a opção Auto-criar usuários (Auto-create Users) ativada.

Com os passos acima realizados você já deverá estar com o seu Joomla autenticando com os usuários do seu domínio e os usuários autenticados serão visualizados na lista de usuários do Joomla.