WebSVN - Аутентификация для путей в хранилище - PullRequest
2 голосов
/ 25 ноября 2010

Мне нужен простой учебник «в точку» или аккуратный пример того, как реализовать авторизацию для путей (извлечения каталогов) из одного хранилища Subversion с использованием WebSVN.

Допустим, репозиторий является / svn/ repos / r_project Два извлечения (пути) из этих репозиториев: / svn / repos / path1 и / svn / repos / path2 ... Я хочу защитить каждый путь (каталог) с другим именем пользователя / паролем.

Subversion и WebSVN установлены на Unix Apache (redhat).Я уже вижу два пути на главной странице репозитория WebSVN - без какой-либо защиты это работает нормально.

Я знаю, как защитить отдельную страницу веб-индекса с помощью .htpasswd, но все, что я пытался защитить отдельными путями в хранилище через страницу WebSVN, не удалось.

Tx

[EDIT 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').. Однако, когда я выбираю '1030 * в браузере, я получаю только логин (в порядке), чем пустую домашнюю страницуWebSVN - то есть, нет путей к хранилищу или извлечению!

Это первая проблема: пустая страница. Во-вторых, будет иметь разные имена входа для каждого пути. Примечание: эти пути (извлечения) предназначены только для чтения или загрузки (коммит из Subversion не сделан).

Спасибо.

1 Ответ

1 голос
/ 25 ноября 2010

Возможно, вы ищете ' authz '. Это один из множества доступных учебных пособий .

EDIT
Я думаю, что вы смешиваете две вещи, которые не принадлежат друг другу. Один из способов получить доступ к хранилищу Subversion - через WebDAV, похоже, это работает. WebSVN, с другой стороны, предназначен для хранилища , просматривающего . Вы не сможете зафиксировать изменения в своем URL-адресе WebSVN.

Ваш SVNParentPath должен указывать на хранилище, а не на каталог WebSVN.

SVNParentPath /svn/repos
...