apache auth: combinación de LDAP y htpasswd

11

Estamos usando Apache con mod_svn para servir el repositorio de subversión. Apache está conectado a un servidor LDAP para que todos los usuarios puedan usar sus contraseñas de dominio. Para que la máquina de compilación pueda pagar, quiero tener un usuario adicional, pero no puedo agregar a través de LDAP.

¿Puedo crear una configuración donde el usuario / pwd tenga que coincidir con el servidor LDAP o un archivo htpasswd?

noamtm
fuente

Respuestas:

8

prueba esto:

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

Tal vez cambie AuthBasicProvider file ldapa AuthBasicProvider ldap file, según dónde desee buscar primero.

cristiano
fuente
FWIW, "Satisfacer cualquiera" en la conf no resultó en ninguna autenticación, cuando lo intenté. Sin embargo, eliminar "Satisfacer cualquiera" produce los resultados esperados / deseados.
Keith
2

Si también necesita verificar si el usuario está en un grupo LDAP específico, puede usar lo siguiente:

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
fuente
1
(Sé que esto tiene 5 años, pero parece incorrecto) Según la documentación, todas las direcciones de Requerir se consideran parte de un bloque Requerir Cualquier, si no está en un bloque. Usando esto, tu Require ldap-groupes ignorado
mveroone