Как я могу использовать подстановочные знаки или регулярные выражения для управления авторизацией / контролем доступа на основе пути для svn?

Есть ли способ контролировать доступ к svn для просмотра/чтения с помощью авторизации на основе пути, основанной на регулярных выражениях или подстановочных знаках?

Я знаю, что могу использовать svnperms для управлять доступом на запись через скрипт фиксации фиксации, но мне также нужно ограничить доступ для чтения/просмотра, и в настоящее время у меня есть корень проекта с файлами фиксации, к которым всем людям нужен доступ, и подкаталоги, к которым должны иметь доступ только определенные люди. Предоставление доступа к каталогу проекта верхнего уровня автоматически предоставляет его всем подкаталогам. Если бы я мог настроить правило регулярного выражения, я мог бы легко ограничить доступ.

Если я не могу найти способ контролировать доступ с помощью подстановочных знаков или шаблонов, мне потребуется реорганизовать структуру каталогов, чтобы переместить файлы верхнего уровня в подкаталог, для которого я могу установить разрешения.

Пожалуйста, дайте мне знать, если вы знаете о:

  • сценарий ловушки, который может контролировать доступ к просмотру
  • расширение apache, которое может предоставлять возможности аутентификации с помощью подстановочных знаков или шаблонов регулярных выражений.

person Peter Kahn    schedule 21.06.2013    source источник
comment
subversion.tigris.org/issues/show_bug.cgi?id=2662   -  person bahrep    schedule 22.06.2013


Ответы (1)


по состоянию на июнь 2013 года это сделать невозможно. Таким образом, решение проблемы заключается в реорганизации репозитория, чтобы в этом не было необходимости. Когда что-то слишком сложно, это обычно приводит к большому переосмыслению дизайна или подхода.

В настоящее время структура maven приводит к этому требованию: root/pom.xml root/project1/pom.xml root/project2/pom.xml и т. д.

Мы можем заменить это на /root/pom.xml /project1/pom.xml /project2/pom.xml и т. д..

Мы можем установить разрешения svn следующим образом, предоставив всем доступ на чтение к проекту верхнего уровня и чтение и запись в их проект. Если сервер сборки с непрерывной интеграцией заполняет внутренний репозиторий maven корневым снимком, пользователям нужно только проверить определенные проекты.

[repo:/root]
* = r
@releng = rw

[repo:/project1]
@teamOne = rw

[repo:/project2]
@teamTwo = rw
person Peter Kahn    schedule 30.06.2013