Проверка подлинности записи SVN с использованием групп разрешений Trac - PullRequest
0 голосов
/ 04 июня 2010

Я запускаю небольшой проект с открытым исходным кодом, и у меня уже есть репозиторий и экземпляр Trac. Я установил плагин AccountManager, и у меня есть RegistrationModule, потому что я хочу, чтобы пользователи могли создавать учетные записи и отправлять заявки даже без повышенных разрешений (иначе я хочу, чтобы кто-нибудь регистрировал сообщения об ошибках).

Я настроил доступ на чтение и запись только для аутентифицированных пользователей. Вот часть моего файла dav_svn.conf.

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /trac-pages/ocm/htpasswd

# To enable authorization via mod_authz_svn
#AuthzSVNAccessFile /etc/apache2/dav_svn.authz

# The following three lines allow anonymous read, but make
# committers authenticate themselves.  It requires the 'authz_user'
# module (enable it with 'a2enmod').
<LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
</LimitExcept>

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

1 Ответ

0 голосов
/ 04 июня 2010

Хм ... Группа «Аутентифицированные» на Trac автоматически содержит всех пользователей, которые вошли в систему, включая всех, кто только что зарегистрировал новую учетную запись и вошел в систему. Поэтому, похоже, вам нужен способ ограничить доступ SVN только к тем пользователи с некоторым другим разрешением / группой. (И вы можете создавать произвольные новые разрешения, используя sample-plugins/permissions/extrapermissionsprovider.py из источников Trac.)

Я не знаю, как бы вы заставили svn взглянуть на Trac для получения этой информации.

Вы можете заглянуть в этот или этот плагин из trac-hacks , чтобы позволить вам управлять доступом к SVN изнутри Trac. (Предостережение: я не использовал их.) Это может позволить вам сделать что-то близкое к тому, что вы хотите.

Раскрытие информации: я один из разработчиков Trac.

...