Я запускаю автономный 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.