是否有可能让每个项目的用户独立trac?

我为多个项目运行独立的tracd:

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

项目环境创build在/ path / to / projects下 ,用户添加到/path/to/projects/.htpasswd 。 这使得用户可以在项目中共享,即任何用户都可以访问任何项目。

是否有任何简单的方法,使基于每个项目的用户身份validation使用独立的设置? 我正在寻找这样的解决scheme:

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

其中.htpasswd的path与项目环境相关,即每个环境都有自己的.htpasswd,用户不跨越项目。

我不相信你可以在每个项目中使用不同的.htpasswd文件来pipe理单个Trac安装中的用户(当使用Trac的内部Web服务器时)。 我知道这是Trac社区正在考虑的事情(请参阅多个项目的综合解决scheme了解更多信息)。

也就是说,你可以select通过Apache来运行Trac来运行多个项目,从而打开一扇门。 通过Apache查看Trac中的多个项目 。 简短的版本是在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保留为自己的networking服务器,即使所有Trac项目共享相同的.htpasswd文件,也可以为不同的项目设置不同的权限。 这样一个用户可以是一个Trac项目的TRAC_ADMIN或WIKI_ADMIN,而在第二个Trac项目中没有这些权限。 您可以使用trac-admin工具从命令行执行此操作。 例如:

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

或者,您可以从GUI完成相同的操作(当用TRAC_ADMIN权限login到特定项目时,请转到Admin-> Privileges)。

有关使用命令行trac-admin工具设置权限(用户和组)的更多信息,请参阅Trac权限 。 “ Trac权限策略”中提供了一个更加精细的使用权限策略pipe理权限的选项。