apache auth: комбінація LDAP та htpasswd


11

Ми використовуємо Apache з mod_svn для обслуговування репо-реверсії. Apache підключено до сервера LDAP, щоб усі користувачі могли використовувати паролі домену. Щоб машина збирання могла оформити замовлення, я хочу мати додаткового користувача, але я не можу додавати через LDAP.

Чи можу я створити налаштування, у якому користувач / pwd повинен відповідати або серверу LDAP, або файлу htpasswd?

Відповіді:


8

спробуйте це:

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

Можливо, ви переходите AuthBasicProvider file ldapдо AuthBasicProvider ldap file, залежно від того, де ви хочете здійснити перший пошук.


FWIW, "Задовольнити будь-яке" конф конфлікту не призвело до автентичності, коли я спробував це. Видалення "Задовольнити будь-які" дає однак очікувані / бажані результати.
Кіт

2

Якщо вам також потрібно перевірити, чи перебуває користувач у певній групі LDAP, ви можете скористатися наступним:

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
(Я знаю, що цьому вже 5 років, але здається, що це неправильно) Відповідно до документації, всі директори, що вимагають, вважаються частиною блоку RequireAny, якщо не є. Користуючись цим, ваш Require ldap-groupігнорується
mveroone
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.