Uma tarefa que parece fácil (e efetivamente é) pode se tornar um problema que dura quase um mês. Foi exatamente isso que aconteceu quando eu comecei a pesquisar sobre como integrar o TestLink, ferramenta Open Source de gerencia de testes ao Active Directory.
Alguns motivos que dificultaram a configuração:
-Falta de conhecimento técnico do LDAP (Lightweight Directory Access Protocol) e sua estrutura;
-Má documentação do TestLink com relação a integração;
-Pouco tratamento de falhas desta configuração no TestLink;
-Pouco suporte a esta integração;
Gostaria de pedir para desconsiderarem se algum termo referente as tecnologias abaixo relacionadas estiver confuso ou até mesmo errado. Essa não é minha área de especialização, e como já foi citado anteriormente, precisei de algum tempo para compreender os problemas envolvidos e as soluções que deveriam ser adotadas, que, possivelmente para um profissional desse setor, seriam facilmente identificadas.
Os motivos acima me motivaram a ajudar as pessoas que pesquisarem no Google sobre esse problema, que na verdade é simples, mas pelos fatores apresentados acima, tornaram-se um problema de um mês, muitas horas de configuração, várias tentativas e inúmeras descobertas.
Abaixo um “tutorial” de como integrar o LDAP passo a passo, e todas as configurações que são necessárias e as que não são necessárias:
Requisitos:
-TestLink instalado;
-Um servidor com Windows com Active Directory;
-Usuário ativo do Active Directory (preferencialmente desvinculado de qualquer colaborador, ex: tl@empresa.com);
-Uma classe de acesso ao LDAP (por exemplo php_ldap);
-Uma tabela com a estrutura do LDAP da organização;
1º Passo:
No arquivo do php.ini, descomentar (habilitar) a extensão “extension=php_ldap.dll”
O procedimento acima garante que o servidor PHP possa usar o protocolo LDAP. Sem essa configuração, o sistema não vai funcionar corretamente.
No exemplo acima, estou usando o WAMP em minha estação local.
2º Passo:
No arquivo config.inc.php, informar as seguintes configurações:
*['method'] = ‘LDAP’;
-O método deve ser informado como LDAP para que ele use a rotina de autenticação do Active Directory
*['ldap_server'] = ‘192.168.0.xxx’;
-O servidor de LDAP da organização. Pode ser o IP ou o DNS (nome) como ldap.empresa.com
*['ldap_port'] = ‘389′;
-Para Windows utilizar a porta 389
*['ldap_version'] = ‘0′;
-a versão deve ser informada como zero, caso seja diferente pode ter incompatibilidade
*['ldap_root_dn'] = ‘OU=Empresa LTDA,DC=empresa,DC=com’;
-Informar OU para os diretórios da empresa e DC para os identificadores
*['ldap_organization'] = ”;
-Deixar o organization em branco
*['ldap_uid_field'] = ’sAMAccountName’;
-Para Windows usar sAMAccountName
*['ldap_bind_dn'] = ‘CN=usuario,OU=*Usuarios,OU=Organização Empresa,DC=empresa,DC=com’;
-Informar o usuário ativo do Active Directory
*['ldap_bind_passwd'] = ’senha’;
-Informar a senha do usuário selecionado
*Para facilitar a leitura estou ocultando o array ($tlCfg->authentication)
Recomendo que essas informações sejam requeridas e alinhadas com departamento de administração de rede e infraestrutura.
Salvar as modificações.
3º Passo:
Para quem já usa o TestLink com controle interno de senha (MD5), é necessário atualizar os usuários já existentes para os nomes do LDAP, por exemplo, se o e-mail é “nome@empresa.com” o usuário do TestLink deve ser “nome”, caso seja nome.sobrenome@empresa o usuário do TestLink deve ser “nome.sobrenome”.
Isso causa um problema também, pois o TestLink tem uma regra que permite somente o cadastro de um nome sem caracteres especiais exceto pelo sublinhado “_”, mas para que ele passe a aceitar pontos basta mudar a expressão regular presente no arquivo de configuração (config.inc.php).
A expressão padrão é: /^[\w \-]+$/
Para aceitar um ponto entre dois nomes*: /^[\w \-]+\.+[\w \-]+$/
* Minha sugestão, pode ser modificada de acordo com o padrão de cada empresa.
4º Passo:
Reiniciar o servidor do PHP para aceitar as novas modificações
Não é necessário excluir as senhas já cadastradas. Recomendo na verdade deixar as senhas para uma situação emergencial, já que agora, se o servidor de Active Directory da empresa cair, a utilização do TestLink será comprometida.
Uma outra sugestão off topic para esse post é desativar a “auto criação” de usuários, para evitar “penetras” e spammers no TestLink. Para isso basta mudar a opção de user_self_signup para FALSE
Espero que esse post possa ajudar as pessoas que como eu estiveram procurando por algum tutorial que não fale a velha “língua técnica” dos administradores de redes e infraestrutura.
PS: As informações acima são baseadas em um case de implantação da funcionalidade em uma empresa privada a qual eu presto consultoria. Não representa que funcione em qualquer outra empresa, que sejam as únicas ou melhores configurações possíveis para essa funcionalidade.
Outras referencias que podem te ajudar:
-Conhecer um pouco mais sobre LDAP http://en.wikipedia.org/wiki/LDAP
-Fórum do TestLink http://www.teamst.org/phpBB2/
-Outro tutorial sobre esse mesmo assunto http://blog.loftninjas.org/2008/02/07/using-active-directory-ldap-authentication-with-testlink/
Bons testes

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 
[...] Integrando TestLink ao Active Directory via Open LDAP – Camilo Ribeiro (Camilo Ribeiro); [...]