Atualmente tenho uma configuração onde trabalho que permite aos usuários usar seus logins e senhas de domínio do diretório ativo para autenticar e autorizar o acesso ao Subversion. Atualmente, preciso permitir que as contas de aplicativos tenham o mesmo acesso. Assim, nosso grupo de TI cria contas de aplicativos no diretório ativo para usarmos. Mas eles querem ser "seguros", portanto, definem o atributo "Estações de Trabalho Permitidas" / userWorkstations como apenas um número limitado de estações de trabalho. Assim, quando uma conta de aplicativo acessa o servidor apache2 para autenticação, ele não pode fazer login por algum motivo e estou tendo muito tempo tentando depurar. Os logs de erro só me mostram:
[Tue Apr 06 11:24:25 2010] [warn] [client 24.24.24.24] [3469] auth_ldap authenticate: user appuser13 authentication failed; URI /svn [ldap_simple_bind_s() to check user credentials failed][Invalid credentials]
[Tue Apr 06 11:24:25 2010] [error] [client 24.24.24.24] user appuser13: authentication failure for "/svn": Password Mismatch
Eu verifiquei a senha várias vezes e ela parece estar correta, mas parece que não consigo fazer com que o usuário autentique corretamente. Abaixo está um trecho da configuração do apache para o ldap:
# Auth providers
# Active Directory
<AuthnProviderAlias ldap ldap1>
AuthBasicProvider ldap
AuthLDAPURL "ldap://dmain.company.com:389/dc=dmain,dc=company,dc=com?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "CN=svnuser13,OU=Application Accounts,dc=dmain,dc=teradata,dc=com"
AuthLDAPBindPassword secret3
</AuthnProviderAlias>
# Another set of users from a different group
<AuthnProviderAlias ldap ldap2>
AuthBasicProvider ldap
AuthLDAPURL ldap://diffldapserver:389/dc=specialusers,dc=com?uid
</AuthnProviderAlias>
# Another set of users from a different group
<AuthnProviderAlias file file1>
AuthUserFile /var/svn/auth/htpasswd
</AuthnProviderAlias>
<Location /svn>
DAV svn
SVNPath /var/svn
Satisfy Any
Require valid-user
AuthType Basic
AuthName "SVN Repository"
AuthBasicProvider ldap1 file1 ldap2
AuthzSVNAccessFile /var/svn/auth/access
AuthzLDAPAuthoritative on
Require valid-user
</Location>
Qualquer ajuda, como dicas para depuração, é bem-vinda!
Parece que acho que isso pode estar relacionado à resolução de nomes do netbios. No Windows eu acho que transmite e registra isso corretamente, mas no Linux eu sei que não é o padrão. Então eu estou supondo que o servidor de domínio rejeita todas as solicitações deste host, uma vez que não o conhece pelo nome. Eu tentei o programa ldapsearch no linux e ele rejeitou, então eu costumo pensar que este é o problema. Eu estou esperando alguns outros para me ajudar a testar isso localmente, mas eu pensei em jogar isso lá fora, caso alguém tenha uma opinião sobre isso.