Есть ли у SharpSVN API для управления разрешениями репозитория? - PullRequest
3 голосов
/ 15 июля 2009

Кто-нибудь знает, существует ли какой-либо API, доступный для управления разрешениями репозитория в SharpSVN ? Например, программное добавление разрешений на чтение и запись для каждого репозитория.

В качестве альтернативы, есть ли другие мысли по управлению разрешениями с другими API SVN? В худшем случае мы будем вручную управлять содержимым svnaccessfile, но это последнее средство. Спасибо.

Ответы [ 2 ]

2 голосов
/ 20 июля 2009

Похоже, что SharpSvn - это просто оболочка API .NET для инструмента командной строки Subversion, и в него не включен механизм управления разрешениями, это невозможно (см. здесь ). Разные дистрибутивы Subversion управляют разрешениями в разных модах, поэтому подходы к управлению этим вне SharpSvn будут отличаться.

Сервер Visual SVN использует файл authz-windows в корне хранилища для управления разрешениями на основе AD. Он хранит SID пользователя и имя репо в виде простого текста, поэтому я решил проблему API, просто напрямую управляя содержимым этого файла. Не так элегантно, как я надеялся, но конечный результат тот же.

0 голосов
/ 08 января 2016

Как писал @TroyHunt, невозможно использовать SharpSVN для управления правилами доступа Subversion. Фактически, каждый сервер Subversion + Apache, который использует mod_authz_svn, может быть настроен на использование нескольких списков авторизации. Это могут быть файлы авторизации для каждого репозитория, файлы авторизации для всего экземпляра сервера или даже файлы авторизации в репо (доступно начиная с Subversion 1.8). Следовательно, не существует стандартного способа управления правилами доступа, который бы подходил для всех установок Subversion. Тем не менее, вы всегда можете написать свой собственный скрипт специально для установки вашего сервера Subversion только потому, что Файлы Authz Subversion имеют очень простой формат .

Исходный ответ подразумевает, что вы использовали VisualSVN Server. В таком случае у меня для вас хорошие новости, потому что VisualSVN Server 3.4 представил несколько командлетов PowerShell для администрирования серверов и репозиториев. В последнем выпуске 3.5 на самом деле есть 29 командлетов и командлетов для управления правилами доступа, среди которых:

Дополнительные сведения о командлетах и ​​примерах использования см. В статье KB88: справочник по командлету PowerShell для VisualSVN Server * .

...