Páginas

quinta-feira, 12 de abril de 2012

Configurando Joomla com Autenticação LDAP


    Bom pessoal, esses dias tive que configurar um servidor web para efetuar a autenticação do Joomla com LDAP e tive êxito na implementação e gostaria de compartilhar esse conhecimento com vocês. Segue abaixo , os passos para quem queira utilizar a autenticação LDAP no seu portal joomla:

1.    No painel de administração do Joomla , Selecione a opção “Extensões” > “Gerenciador de Plugins”. Dentro do Gerenciador de Plugins , selecione a opção “Autenticação - LDAP”.


2.  Vamos as configurações do Plugin.
iinasdf
Para facilitar , segue abaixo:
CONFIGURAÇÕES PARA AUTENTICAÇÃO INTEGRADA LDAP/AD NO JOOMLA
Servidor.............: <ip do servidor AD> ou <nome do servidor AD>
Porta................: 389
LDAP V3..............: S
Negociação TLS.......: N
Follow referrals.....: N
Método de Autorização: Conectar e Pesquisar
DN Base..............: DC=edsga,DC=com,DC=br
String de Pesquisa...: sAMAccountName=[search]
Usuários DN..........: CN=emerson,OU=Sistema,DC=edsga,DC=com,DC=br
Nome de Conexão......: emerson
Senha de Conexão.....: (senha)
Map: Nome Completo...: displayName
Map: Email...........: userPrincipalName
Map: Id de Usuário...: sAMAccountName
      
      3.  Após configurado e salvo a autenticação LDAP no Joomla , verifique se o seu PHP possui suporte para executar instruções da extensão “php-ldap” no php-info do seu servidor.


4.  Depois de verificado isso , ative a autenticação LDAP no seu portal.


Caso , tenham algumas duvidas com a configuração , favor comentem.

14 comentários:

  1. Tudo certo Emerson... parabéns pelo Post...
    Porém tenho uma dúvida..., caso eu tenha usuários espalhados em várias UOs em meu AD... como ficaria a configuração do DN Base

    ResponderExcluir
    Respostas
    1. Exemplo...
      dominio.com.br
      - Usuarios
      |_financeiro
      |_informatica
      |_administrativo
      minha DN Base está assim por enquanto:
      UO=informatica,UO=Usuarios,DC=dominio,DC=com,DC=br

      O que posso fazer para incluir as outras UOs ?
      Obrigado,

      Excluir
    2. Fernando ,

      Seguinte na configuração de DN BASE , você terá que criar um usuário no seu AD para que esse usuário possa fazer consultas no AD. No Exemplo da tabela do POST , coloquei "CN=emerson,OU=Sistema,DC=edsga,DC=com,DC=br" que é representado por Usuário "CN=emerson" , Grupo "OU=Sistema", Dominio "DC=edsga,DC=com,DC=br". A versão do Joomla que utilizei é a 1.6.5 e 1.7.0. Nessas versões depois de configurado você pode logar no sistema com o usuário do AD que o Joomla criará automaticamente o usuário no sistema para você. Na versão 1.5.x você terá que criar o usuário no joomla com o mesmo nome que o usuário do AD para que o joomla faça as consultar de usuário e seeha no AD. Respondendo a sua pergunta acima , não será necessário informar as outras OU´s no joomla , pq o usuário do AD que você está configurando irá fazer o trabalho de consulta no AD. Caso tenha mais alguma dúvida , informe aqui no Post.

      Configuração do DN BASE:
      DC=edsga,DC=com,DC=br (será o nome do seu AD)
      Configuração Usuário DN:
      CN=emerson,OU=Sistema,DC=edsga,DC=com,DC=br

      Obrigado por contribuir com o Blog.

      Excluir
    3. Emerson, obrigado...
      Mas ainda tenho que lhe perguntar...
      Gostaria que todo os Meus Usuários do AD da OU=Usuarios se logassem pois cada usuário no AD será responsável por determinado conteúdo no Joomla...! Tem como ?

      Att.
      Fernando

      Excluir
    4. Fernado ,

      Tem como sim, isso dependerá da permissão do Usuário que você criou no AD para fazer as consultas de contas para o CMS/Joomla utilizar. Se esse usuário tiver o privilégio de consultar todas as OU´s do seu AD, você poderá utilizar o acesso dos seus usuários no AD para gerenciar os artigos ou as funções que você determinará para o usuário.

      Obrigado por contribuir com o Blog. Caso tenha mais alguma dúvida , informe aqui no Post.

      Excluir
    5. Muito Obrigado Emerson...
      Sua idéia e/ou configuração está corretissima !!!!

      Abçs

      Excluir
  2. Bom dia amigo, eu segui todas as suas configurações na imagem acima, mas não obtive sucesso, percebi também que eu não possuo esse php-ldap nas informações do server, gostaria de saber se esse é o verdadeiro problema dele, e se for, gostaria de saber como faço pra resolve-lo abraços...

    ResponderExcluir
  3. Luiz,
    O php-ldap é um módulo do php, para vc ativar este módulo vc terá que possuir os binarios instalados no seu servidor. Se o php-info não informou que o php-lda não está instalado, verifique a permissão da pasta do php para o servidor web que esteja utilizando sendo apache ou iis. Me informe se seu ambiente está instalando em linux ou Windows, ok?

    ResponderExcluir
  4. Olá, testei e não tive sucesso, está tudo configurado como vc me ensinou e o ldap ativado no servidor php.
    Alguma idéia do problema
    Criei um módulo de autenticação o formatei com css.
    E criei um artigo que o mostra em seu corpo o formulário de login Usei o {load position-xx} no corpo do arquivo.
    Tbm criei um artigo com os links da área restrita e com acesso registrado.
    Porém quando logo no formulário ele vai para um tela em branco e não acontece nada.
    O que fazer?

    ResponderExcluir
    Respostas
    1. Gleiner,

      Quando a autenticação não está sendo efetivada, o comportamento padrão é a tela branca que está tendo como resposta. Nisso sugiro que verifique se o usuário do AD que esteja utilizando na sua aplicação tenha privilégios para consultar outros usuários no AD, pois isso é primordial para o funcionamento do AD num ambiente Joomla.

      Att,
      Emerson

      Excluir
  5. Olá, Parabéns pelo post!

    Não consigo por nada... alguma luz?

    1 - PHP LDAP - OK
    2 - Configurações OK

    Plugins: Authentication - LDAP

    Host: 130.100.10.1
    Port: 389
    LDAP V3: YES
    Negotiate TLS: NO
    Follow Referrals: NO
    Follow Referrals: Bind and search
    Base DN: DC=MNPTR,DC=COM,DC=BR
    Search String: sAMAccountName=[search]
    User's DN: CN=diego.santos,OU=MR,DC=MNPTR,DC=COM,DC=BR
    Connect Username: Connect Username
    Connect Password: (minha senha)
    Map: Full Name: displayName
    Map: Email: userPrincipalName
    Map: User ID: sAMAccountName


    É obrigatório ter um usuário nas configurações? Esse usuário pode ser um usuário comum de rede?

    *Joomla! 3.5.1

    ResponderExcluir
  6. Só mostra o erro: Atenção: Não foi possível acessar o LDAP

    ResponderExcluir
    Respostas
    1. Bom dia Diego,

      Na sessão abaixo:
      Nome de Conexão......: emerson *** é estritamente necessário informar o usuário que efetuara a consulta no LDAP/AD
      Senha de Conexão.....: (senha)

      Verifique está configuração, pois o usuário que irá efetuar a consulta para autenticar no LDAP precisa estar informado nesta configuração. ok?

      Qualquer dúvida estou a disposição. Obrigado por contribuir com o blog.
      Emerson

      Excluir