Вопрос

Я использую SVN (CollabNet Subversion Edge) и Tortoise SVN для управления веб-сайтом, редактируемым несколькими людьми.

Я бы хотел ограничить доступ некоторых пользователей к некоторым каталогам (чтобы они не видели учетные данные базы данных и т.д.).Для них требуется только доступ на чтение к одному каталогу.

Возможно ли это сделать в SVN?

Спасибо!

Редактировать

Они работают под управлением сочетания XP и Windows 7.Сервер работает под управлением Windows 2008.Используемый протокол - http.

Это было полезно?

Решение

Это может быть достигнуто с помощью файла svnaccess.conf. Предполагая, что вы используете аутентификацию домена Windows, вот один из способов обеспечения доступа к уровню папки к пользователям Windows. (Раздел выборки файла svnaccess.conf)

REPO: / TRALK / WABLEFALDER

*=

@repo_restricted_users = R.

@repo_super_users = RW.

Здесь Repo_Restricted_users и repo_super_Users - это группы пользователей, которые должны быть определены ранее в файле svnaccess.conf - таким образом:

repo_restricted_users = john.doe, tom.riddle

repo_super_users = harry.potter, lord.voldemort

Это обеспечит доступ к чтению доступа к простойбору папке в репозитории при сохранении других замкнутых папок. Надеюсь это поможет.

Другие советы

Книга SVN, на которую ссылается Майк, дает вам хороший обзор доступных методов аутентификации.

Если вы используете Windows и не возражаете против переключения SVN-сервера, Сервер VisualSVN это бесплатная оболочка svn / Apache, которая может быть установлена в течение нескольких минут и обеспечивает невероятно простое управление пользователями и доступом "укажи и щелкни".Я пользуюсь им уже много лет, и мне это нравится.

Вы можете делать то, что вы хотите в платформе независимым способом, написав то, что называется предварительным зажимным крюком. Вы можете прочитать больше о крючках в Книга SVN. Отказ По сути, вам будет дано имя пользователя и местоположение каталога обновлений и иметь возможность решать, принимать ли или нет транзакции.

Хороший пример этого находится на этот сайт. Отказ По сути, вы захотите использовать скрипт commit-access-control.pl., который упакован с Subversion, для выполнения проверки разрешений для вас. Все, что вам нужно сделать, это написать простой файл конфигурации, который описывает, где люди могут писать и прочитать.

Если вы будете использовать http с apache, вы можете использовать модуль Authz_svn Apache здесь в книге.

Если им нужен один каталог, я думаю, что можно было бы создать второй / другой репозиторий для этого и включая его с svn:externals в проекте «Главный» (который все еще будет делать svn update Также извлеките обновления от другого репозитория и т. Д.).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top