apache auth: combinação de LDAP e htpasswd

11

Estamos usando o Apache com mod_svn para servir ao repositório do subversion. O Apache está conectado a um servidor LDAP para que todos os usuários possam usar suas senhas de domínio. Para que a máquina de compilação possa fazer o checkout, quero ter um usuário extra, mas não consigo adicionar via LDAP.

Posso criar uma configuração em que o usuário / pwd precise corresponder ao servidor LDAP ou a um arquivo htpasswd?

noamtm
fonte

Respostas:

8

tente isto:

AuthType Basic
AuthName "LDAP and file
AuthBasicProvider file ldap
AuthUserFile /path/to/htpassword/file
AuthLDAPBindDN <your bind dn>
AuthLDAPBindPassword <your password>
AuthLDAPURL "<your ldap url>"
AuthzLDAPAuthoritative off
Require valid-user
Satisfy any

Talvez você mude AuthBasicProvider file ldappara AuthBasicProvider ldap file, dependendo de onde deseja pesquisar primeiro.

cristão
fonte
FWIW, "Satisfazer qualquer um" no conf resultou em nenhuma autenticação, quando tentei. A remoção de "Satisfazer qualquer" produz os resultados esperados / desejados.
261 Keith
2

Se você também precisar verificar se o usuário está em um grupo LDAP específico, poderá usar o seguinte:

AuthType Basic
AuthName "LDAP and file"
AuthBasicProvider file ldap
AuthUserFile /path/to/htpassword/file
AuthLDAPBindDN <your bind dn>
AuthLDAPBindPassword <your password>
AuthLDAPURL "<your ldap url>"
AuthzLDAPAuthoritative off

AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
Require valid-user
Require ldap-group cn=svn,cn=groups,dc=ldapsvr,dc=example,dc=com
Frank Schubert
fonte
1
(Eu sei que isso tem 5 anos, mas parece errado) Conforme a documentação, todos os diretórios Require são considerados parte de um bloco RequireAny, se não estiver em um bloco. Usando isso, o seu Require ldap-groupé ignorado
mveroone