Я настраиваю репозиторий Subversion для использования базовой аутентификации LDAP. У меня есть запись в моем http.conf
файл, который выглядит так:
<Location /company/some/location>
DAV svn
SVNPath /repository/some/location
AuthType Basic
AuthName LDAP
AuthBasicProvider ldap
Require valid-user
AuthLDAPBindDN "cn=SubversionAdmin,ou=admins,o=company.com"
AuthLDAPBindPassword "XXXXXXX"
AuthLDAPURL "ldap://company.com/ou=people,o=company.com?personid"
</Location>
Это прекрасно работает для живых, дышащих людей, которым необходимо войти в систему. Однако мне также необходимо предоставить учетным записям приложений доступ к репозиторию. Эти учетные записи находятся в другом подразделении. Мне нужно добавить совершенно новый <location>
элемент, или я могу добавить второй AuthLDAPURL
к существующей записи?
Вы можете использовать mod_authn_alias для создания псевдонимов для ваших провайдеров. Был пример в этот вопрос практически для того же варианта использования:
<AuthnProviderAlias ldap alpha>
AuthLDAPBindDN "CN=Subversion,OU=Service Accounts,O=Alpha"
AuthLDAPBindPassword [[REDACTED]]
AuthLDAPURL ldap://dc01.alpha:3268/?sAMAccountName?sub?
</AuthnProviderAlias>
<AuthnProviderAlias ldap beta>
AuthLDAPBindDN "CN=LDAPAuth,OU=Service Accounts,O=Beta"
AuthLDAPBindPassword [[REDACTED]]
AuthLDAPURL ldap://ldap.beta:3268/?sAMAccountName?sub?
</AuthnProviderAlias>
# Subversion Repository
<Location /svn>
DAV svn
SVNPath /opt/svn/repo
AuthName "Subversion"
AuthType Basic
AuthBasicProvider alpha beta
AuthzLDAPAuthoritative off
AuthzSVNAccessFile /opt/svn/authz
require valid-user
</Location>