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?

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.


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.