1

Мне нужно разработать веб-приложение (использующее любой язык, но я знаком с Frameworks Symfony2 и Rails), которое может предоставить пользователю доступ к определенной папке на другом сервере в той же сети из внешнего интерфейса приложения.

Я узнал, что у SVN есть API и что я могу взаимодействовать с ним с помощью PHP или Ruby (по-видимому), хотя я хотел бы запрограммировать приложение на другом языке, сервер, на котором хранятся файлы, использует Windows, и я подумал о используя виртуальный SVN-сервер, однако я не могу найти какую-либо функцию в API для предоставления пользователям доступа к файлам и / или папкам или доступа любого вида, как вы обычно делаете с помощью графического интерфейса пользователя (VirtualSVN в Windows).

Я что-то пропустил? Это вообще возможно?

1 ответ1

1

Это возможно, но то, как вам нужно будет это сделать, зависит от того, что вы используете для обслуживания своих хранилищ Subversion; Сама Subversion не определяет метод контроля доступа и оставляет такие проблемы на усмотрение любого программного обеспечения, которое вы используете для предоставления вашего хранилища вашим клиентам.

(На самом деле это предпочтительнее, чем осуществлять управление доступом внутри собственно Subversion, потому что он более модульный и, следовательно, более легко расширяемый; хранилище Subversion, обслуживаемое через Apache, может принимать участие в любом методе управления доступом, поддерживаемом Apache, вместо того, чтобы переопределять каждый такой метод как часть исходное дерево Subversion.)

Если вы обслуживаете свой репозиторий через Apache или с помощью инструмента svnserve , поставляемого с дистрибутивом Subversion, подробности о настройке контроля доступа можно найти в главе 6 « Управление версиями с Subversion» , доступной бесплатно онлайн. В противном случае обратитесь к документации по вашему серверному программному обеспечению для получения дополнительной информации о том, как настроить необходимые параметры контроля доступа.

Последнее замечание: описываемые вами API-интерфейсы PHP и Ruby являются реализациями клиента Subversion, который почти наверняка будет полезен при разработке кода вашего приложения, но не поможет вам работать с управлением доступом на стороне сервера. Для этого вам необходимо найти какой-либо способ безопасного разрешения кодом вашего приложения изменения конфигурации вашего сервера репозитория (рискованно) или интеграции вашего приложения с базой данных аутентификации / авторизации, которую сервер репозитория использует для выяснения этого. кому разрешено идти куда-то в репо и что делать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .