Назад | Перейти на главную страницу

Возможно ли иметь пользователей для каждого проекта для автономной трассировки?

Я запускаю автономный tracd для нескольких проектов:

 tracd -p 8080 --basic-auth="*,/path/to/projects/.htpasswd, mycompany.com" -e /path/to/projects

Среды проекта создаются под / путь / к / проектам и пользователи добавлены в /path/to/projects/.htpasswd. Благодаря этому пользователи могут быть разделены между проектами, т.е. любой пользователь может получить доступ к любому проекту.

Есть ли простой способ выполнить аутентификацию пользователя на основе проекта с использованием автономной установки? Я ищу такое решение:

tracd -p 8080 --basic-auth="*,.htpasswd, mycompany.com" -e /path/to/projects

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

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

При этом у вас есть возможность запустить Trac через Apache с Python для размещения нескольких проектов, что немного приоткрывает дверь. Видеть Несколько проектов в Trac через Apache. Вкратце, в Apache вы будете делать следующее:

ScriptAlias /project /path/to/trac.cgi

<Location "/project">
    SetEnv TRAC_ENV "/path/to/trac/project"
</Location>

<Location "/project/login">
    AuthType basic
    AuthName "project - trac"
    AuthUserFile "/path/to/svn-auth-file"
    Require valid-user
</Location>

Если вам нужно сохранить Trac в качестве собственного веб-сервера, вы определенно можете установить разные разрешения для разных проектов, даже если все проекты Trac используют один и тот же файл .htpasswd. Таким образом, пользователь может быть TRAC_ADMIN или WIKI_ADMIN одного проекта Trac, не имея этих разрешений во втором проекте Trac. Вы можете сделать это из командной строки с помощью инструмента trac-admin. Например:

trac-admin /path/to/projenv permission add bob REPORT_DELETE

Или вы можете сделать то же самое из графического интерфейса (при входе в систему с правами TRAC_ADMIN для конкретного проекта, перейдите в Admin-> Privileges).

Подробнее об использовании инструмента командной строки trac-admin для настройки разрешений (пользователей и групп) см. Разрешения Trac. Более точный вариант управления разрешениями с помощью политик разрешений можно найти на Политики разрешений Trac.