Sua linha "Requer" é lida
Require ldap-group cn=CHANGED, cn=CHANGED
Isso não parece escrever - eu não acredito que você possa ter dois cns em um DN assim.
Não consigo resolver este aqui, eis o meu .htaccess:
AuthPAM_Enabled Off AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthName "MESSAGE" Require ldap-group cn=CHANGED, cn=CHANGED AuthLDAPURL "ldap://localhost/dc=CHANGED,dc=CHANGED?uid?sub?(objectClass=posixAccount)" AuthLDAPBindDN CHANGED AuthLDAPBindPassword CHANGED AuthLDAPGroupAttribute memberUid
AuthLDAPURL está correto, BindDN e BindPassword estão corretos também (verificados com ldapvi -D ..).
Versão do Apache: Apache / 2.2.9 (Debian)
A mensagem de erro parece enigmática para mim, eu tenho AuthzLDAPAuthoritative em então onde está o problema.
EDITAR:
Módulos LDAP são carregados, o problema não está com eles faltando.
# ls /etc/apache2/mods-enabled/*ldap* /etc/apache2/mods-enabled/authnz_ldap.load /etc/apache2/mods-enabled/ldap.load
EDIT2:
Resolveu mudando o funky
Require ldap-group cn=CHANGED, cn=CHANGED
linha com
Require valid-user
Como o AuthzLDAPAuthoritative está ativado, nenhum outro método de autenticação será usado e o requisito de usuário válido será autenticado via LDAP. (certo?: /)
Para mim e para o apache 2.2.14, isso funciona como um campeão de controle de acesso por grupo
AuthType Basic AuthName "Secret Area for IT Only" AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPGroupAttributeIsDN off AuthLDAPGroupAttribute memberUid AuthLDAPURL "ldap://ldap1.example.int ldap2.company.int/cn=int" Require ldap-group cn=it,ou=Groups,o=int
"int" é o nosso domínio interno para servidores não públicos.
Você ativou os módulos ldap e authnz_ldap ?
Você pode fazer isso com:
a2enmod ldap authnz_ldap; /etc/init.d/apache2 restart
Tags debian ldap apache-2.2