Прошло время, и для авторизации я начал использовать LDAP, но разрешения по-прежнему раздавал USVN. Чтобы пользоваться исключительно LDAP, я создал специальную группу ou=svn,ou=Groups,dc=domain,dc=com и добавил в нее нужных мне людей.
И сразу проблема. Стоит добавить пользователя в эту группу, апач (httpd) отказывается пускать свеже-добавленного пользователя, пока не будет перезапущен. При чем с текстовыми файлами такой проблемы не наблюдалось - как только добавил пользователя в список доступа - он тут же получает доступ. Такой ход событий мне совсем не нравился, и причина была найдена. Кэширование LDAP-записей апачем всему виной. Чтобы решить проблему, пришлось запретить кэширование совсем. Не знаю как это отразиться на крупных инсталяциях httpd+mod_svn_ldap, но я пока ничего страшного не заметил.
Итак, в конфигурацию сервера добавляем строку:
LDAPOpCacheEntries 0Настройка самого mod_svn, прописанная в конфигурации виртуального хоста может быть следующей:
Собственно, теперь можно отказаться от услуг "третьих" программ по управлению доступом к SVN репозиторию.
'<'Location'>'
ErrorDocument 404 default
DAV svn
SVNParentPath /var/svn
SVNListParentPath off
AuthName "svn"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPUrl ldap://localhost/ou=Users,dc=domain,dc=com?uid
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
require ldap-group cn=SVN,ou=Groups,dc=domain,dc=com
'<'/Location'>'