WebSVN - Аутентификация для путей в репозитории

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

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

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

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

Tx

[РЕДАКТИРОВАТЬ 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 не выполняется).

Благодаря.


person volvox    schedule 25.11.2010    source источник


Ответы (1)


Возможно, вы ищете "authz". Это один из многих доступны учебные пособия.

РЕДАКТИРОВАТЬ
Я думаю, вы смешиваете две вещи, которые не связаны друг с другом. Один из способов получить доступ к репозиторию Subversion - через WebDAV, похоже, это работает. WebSVN, с другой стороны, предназначен для просмотра репозитория. Вы не сможете вносить изменения в свой URL-адрес WebSVN.

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

SVNParentPath /svn/repos
person zellus    schedule 25.11.2010
comment
Благодарить. У меня установлена ​​Subversion, и она работает нормально. Моя проблема связана с WebSVN. Я выполнил все данные инструкции, но просто не вижу репозиторий (и пути) на странице websvn. - person volvox; 26.11.2010
comment
Я знаю ... это не очень забавный вопрос, и Stackoverflow может быть не лучшим местом для выявления такой проблемы. Я постараюсь найти форум, посвященный subversion и websvn. благодаря. - person volvox; 26.11.2010
comment
@volvox: опубликуйте свои файлы конфигурации. Ваш комментарий противоречит вашему вопросу. Websvn работает с вашей конфигурацией, и вам просто нужен слой аутентификации поверх? - person zellus; 26.11.2010
comment
Хорошо - я отредактирую свой ВОПРОС, указав актуальный файл конфигурации, который у меня есть, и проблема. Tx. - person volvox; 26.11.2010
comment
WebSVN, с другой стороны, предназначен для просмотра репозитория. Вы не сможете вносить изменения в свой URL-адрес WebSVN. ... Я знаю об этом. Что касается SVNParentPath, я уже указываю на родительский путь репозитория - нет? (/ svn / репозитории) - person volvox; 27.11.2010
comment
@volvox: Возможно, нет. Существует разница между относительными путями './svn' и абсолютными '/ svn'. Использование Apache DocumentRoot для ваших репозиториев svn может представлять угрозу безопасности. - person zellus; 27.11.2010
comment
В любом случае, я бегу за своим хвостом. Нет двух одинаковых руководств, все заставляют меня менять параметры, пути и т. Д. Безрезультатно - пути никогда не отображаются в websvn. Я трачу больше времени на исправление subversion \ websvn, чем на свой настоящий проект !! Tx. - person volvox; 27.11.2010
comment
@volvox: см. serverfault.com/questions/13853/ в качестве шаблона. - person zellus; 27.11.2010
comment
@zellus ... спасибо. Ссылка мне немного помогла. Итак, я смог исправить соединение с websvn с паролем, удалив эту строку из моего файла config.php: '$ config- ›useAuthenticationFile (' / etc / svn-auth-file '); // Файл глобального доступа 'Это может быть необычно, но в некоторых случаях работает. - person volvox; 03.12.2010