Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SVN, когда в репозитории несколько связ. проектов, разграничение доступа 
:(
    Опции темы
Wowa
  Дата 5.4.2010, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



У меня есть репозиторий SVN. В нем лежит несколько проектов, которые используют общие либы лежащие в этом же репозитории.

структура

Код

// Каталоги с проектами
/trunk/application1/
/trunk/application2/
/trunk/applicationN/

// либы
/trunk/lib/application1/
/trunk/lib/application2/
/trunk/lib/applicationN/

// тут общие либы
/trunk/lib/main/


Как сделать так, чтобы дать разным группам программистов доступ к определенным applications, но при этом, чтобы они не имели доступ к другим applications, которые внутри этого же репозитория лежат? Доступ к общим либам должен быть у всех групп программистов.
PM WWW   Вверх
maxim1000
Дата 5.4.2010, 09:36 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



в svn'овской системе распределения доступа я не разбирался, но один из вариантов - понаписывать хуков, которые будут проверять имя пользователя и путь, когда он пытается что-нибудь сделать


--------------------
qqq
PM WWW   Вверх
Wowa
Дата 5.4.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Я вот думаю. хорошо было бы каталоги как-то маркировать.. Чтобы при загруке на рабочий сервер, также можно было одной командой типа svn update сгрузить файлы приналделажие только одному проекту.
PM WWW   Вверх
bilbobagginz
Дата 5.4.2010, 13:01 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 1
Всего: 317



Wowa, привет.
то что тебе нужно достигается настройкой в файле /path/to/reporoot/conf/authz
там есть примеры, и т.д.
в общем внутри файла создай группы:
Код

[groups]
app1 = dev1, dev2, wowa
app2 = dev3, dev4, wowa
..
appN = devX, devY, wowa

потом создай списки доступа на либы:
Код

[/trunk/lib/main/]
@app1 = r,w
@app2 = r,w
..
@appN = r,w
* = 

[/trunk/lib/application1/]
@app1 = r,w
* =
[/trunk/lib/application2/]
@app2 = r,w
* =
..
[/trunk/lib/applicationN/]
@appN = r,w
* =

а теперь списки доступа на сами приложения:
Код

[/trunk/application1/]
@app1 = r,w
* =
[/trunk/application2/]
@app2 = r,w
* =
..
[/trunk/applicationN/]
@appN = r,w
* =

теперь тебе надо указать апачу на этот файл в параграфе доступа к SVN,  сразу после указания пути к репозитарию:
Код

AuthzSVNAccessFile "/path/to/reporoot/conf/authz"


надо поиграться конечно, но идея думаю понятна.

Если пользуешься LDAP/ActiveDirectory, то там можно длинным DN-ам дать алиасы, есть пример в начале файла.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Wowa
Дата 5.4.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



о, как раз то, что нужно. Тем более, что такой файл уже есть. Нужно лишь его дополнить.
PM WWW   Вверх
Wowa
Дата 5.4.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



bilbobagginz, а если у меня в папке /trunk/lib/ есть еще несколько общих файлов, доступ к которым должны все группы разработчиков получить? Как тогда сделать?
PM WWW   Вверх
Wowa
Дата 5.4.2010, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



к сожалению, еще проблема в том, что svn checkout не может прочитать корень и сам загрузить нужные каталоги(те на которые права доступа стоят для группы). Требуется перечислять аккаунты. Это не очень удобно.
PM WWW   Вверх
bilbobagginz
Дата 6.4.2010, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 1
Всего: 317



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

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

хотя если вся организация файлов - не из-за того, чтобы не украли информацию, а чтобы было меньше шансов похЪрить файлы не принадлежащие конкретной команде, то хватит и реорганизации (переноса файлов).
но думаю придется подправить мейкфайлы (или build.xml, если на ant-е сидите)


Это сообщение отредактировал(а) bilbobagginz - 6.4.2010, 02:20


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
arilou

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | УП: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0921 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.