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
Другие вопросы по тегам