apache auth: połączenie LDAP i htpasswd

11

Używamy Apache z mod_svn do obsługi repozytorium subversion. Apache jest podłączony do serwera LDAP, dzięki czemu wszyscy użytkownicy mogą korzystać z haseł domeny. Aby maszyna kompilacji mogła pobrać, chcę mieć dodatkowego użytkownika, ale nie mogę dodawać za pośrednictwem LDAP.

Czy mogę utworzyć konfigurację, w której użytkownik / pwd musi pasować albo do serwera LDAP, albo do pliku htpasswd?

noamtm
źródło

Odpowiedzi:

8

Spróbuj tego:

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

Być może przełączysz się AuthBasicProvider file ldapna AuthBasicProvider ldap file, w zależności od tego, gdzie chcesz najpierw wyszukać.

chrześcijanin
źródło
FWIW, „Satisfy any” w konf nie spowodowało żadnego uwierzytelnienia, kiedy spróbowałem. Jednak usunięcie opcji „Spełnij dowolne” daje oczekiwane / pożądane wyniki.
Keith
2

Jeśli musisz również sprawdzić, czy użytkownik należy do określonej grupy LDAP, możesz użyć następujących opcji:

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
źródło
1
(Wiem, że ma to 5 lat, ale wydaje się niewłaściwy) Zgodnie z dokumentacją wszystkie directoves Wymagań są uważane za część bloku Wymagaj dowolnego, jeśli nie są w bloku. Używając tego, twój Require ldap-groupjest ignorowany
mveroone