apache auth: combinaison de LDAP et htpasswd

11

Nous utilisons Apache avec mod_svn pour servir le dépôt subversion. Apache est connecté à un serveur LDAP afin que tous les utilisateurs puissent utiliser leurs mots de passe de domaine. Pour que la machine de génération puisse passer à la caisse, je veux avoir un utilisateur supplémentaire, mais je ne peux pas ajouter via LDAP.

Puis-je créer une configuration dans laquelle l'utilisateur / pwd doit correspondre au serveur LDAP ou à un fichier htpasswd?

noamtm
la source

Réponses:

8

essaye ça:

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

Peut-être que vous passez AuthBasicProvider file ldapà AuthBasicProvider ldap file, selon l'endroit où vous souhaitez rechercher en premier.

Christian
la source
FWIW, "Satisfy any" dans la conf n'a entraîné aucune autorisation du tout, quand je l'ai essayé. La suppression de "Satisfaire à tout" donne cependant les résultats attendus / souhaités.
Keith
2

Si vous devez également vérifier que l'utilisateur se trouve dans un groupe LDAP spécifique, vous pouvez utiliser les éléments suivants:

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
la source
1
(Je sais que cela a 5 ans mais cela semble faux) Selon la documentation, tous les Directoves requis sont considérés comme faisant partie d'un bloc RequireAny s'ils ne sont pas dans un bloc. En utilisant cela, votre Require ldap-groupest ignoré
mveroone