WebSVN - Аутентификация по путям в хранилище
Мне нужен простой учебный курс или точный пример того, как реализовать авторизацию для путей (директорий извлечения) из одного хранилища Subversion, используя WebSVN.
Допустим, репозиторий - это /svn/repos/r_project. Два извлечения (пути) из этих репозиториев: /svn/repos/path1 и /svn/repos/path2 ... Я хочу защитить каждый путь (каталог) с другим именем пользователя / паролем,
Subversion и WebSVN установлены на Unix Apache (redhat). Я уже вижу два пути на главной странице репозитория WebSVN - без какой-либо защиты это работает нормально.
Я знаю, как защитить отдельную страницу веб-индекса с помощью.htpasswd, но все, что я пытался защитить отдельными путями в хранилище через страницу WebSVN, не удалось.
Техас
[ПРАВКА nov26]
Современная ситуация, чтобы прояснить: Пути у меня есть:
Home path in unix: '/var/www/'
Path of WebSVN: '/var/www/websvn2'
Path to repository: '/svn/repos'
Created repository is '/svn/repos/r_project') // so r_project is the repository name
Two checkout directories of that repository:'/svn/repos/path1' and '/svn/repos/path2'
В httpd.conf у меня есть места для SVN и WEBSVN (у меня есть необходимые модули):
<Location /repos>
DAV svn
SVNParentPath /var/www/svn/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
<Location /websvn210/>
Options FollowSymLinks
AuthType Basic
AuthName "Subversion Repository"
Require valid-user
AuthUserFile /etc/svn-auth-file
</Location>
На данный момент svn-auth-file содержит пароль для одного имени пользователя. Поместите в каталог / etc.
В файле config.php WebSVN у меня есть:
$config->parentPath("/var/www/svn/repos");
$config->useAuthenticationFile('/etc/svn-auth-file'); // Global access file
Я могу видеть каталоги извлечения 'path1' и 'path2' как обычную страницу индекса с файлами в браузере (например: http://mydomain/svn/repos/path1'). Тем не менее, когда я в браузере указываю "http://mydomain/websvn210", я получаю только логин (в порядке), чем пустую домашнюю страницу WebSVN, то есть пути к хранилищу или извлечению!
Это первая проблема: пустая страница. Во-вторых, будет иметь разные логин для каждого пути. Примечание: эти пути (извлечения) предназначены только для чтения или загрузки (фиксация не производится из Subversion).
Благодарю.
1 ответ
Возможно, вы ищете 'authz'. Это один из многих доступных учебников.
РЕДАКТИРОВАТЬ
Я думаю, что вы смешиваете две вещи, которые не принадлежат друг другу. Один из способов получить доступ к хранилищу Subversion - через WebDAV, похоже, это работает. WebSVN, с другой стороны, предназначен для просмотра репозитория. Вы не сможете зафиксировать изменения в своем URL-адресе WebSVN.
Ваш SVNParentPath должен указывать на хранилище, а не на каталог WebSVN.
SVNParentPath /svn/repos