在Trac中,添加、删除、配置用户账户以及身份验证的过程依赖于运行Trac的方式,也就是使用哪种方式、在哪种Web服务器上运行Trac。
下面介绍使用Tracd时如何管理用户帐号以及进行身份验证。
在以前的讲解中,我们建立了一个Angel项目的Trac环境,用以下的命令:
C:\Python24\Scripts>..\python tracd -p 8001 C:\SCM\Angel\Angel_Trac
来运行Trac环境。
虽然使用浏览器访问该项目时,页面上方也有一个“Login”连接,但是是无法使用的,点击了会报错,提示:
“Authentication information not available. Please refer to the installation documentation.”
这是因为我们没有为该项目设置用户、分配权限和密码。要使Login可用,我们需要做以下三个工作:
1. 创建用户并分配权限
过程如下图:
现在我们的Angel项目有了一个admin的用户,是Trac的管理员。
2. 给用户设定密码
Tracd支持Basic和Digest两种身份验证方式,默认使用Digest,在这里只介绍Digest方式,这是来源于Apache的用户管理和身份验证方式。
Digest方式需要提供一个特定格式的密码文件,可以使用Apache的htdigest命令来生成密码文件。如果没有Apache,可以使用下面的python脚本来生成密码(我就是使用的这种方式)
from optparse import OptionParser
import md5
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option("-u", "--username",action="store", dest="username", type = "string",
help="the username for whom to generate a password")
parser.add_option("-p", "--password",action="store", dest="password", type = "string",
help="the password to use")
(options, args) = parser.parse_args()
if (options.username is None) or (options.password is None):
parser.error("You must supply both the username and password")
realm = 'trac'
kd = lambda x: md5.md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))
将上面的代码保存到一个新文本文件中,并重命名该文件的扩展名为py(假定修改后该文件是
trac-digest.py,放在了C:\SCM目录),使用下面的命令
python trac-digest.py -u username -p password >> c:\digest.txt
具体到我们的项目就是
C:\Python24>python c:\scm\trac-digest.py -u admin -p admin >>c:\scm\digest.txt
会在c:\scm\目录下生成一个digest.txt的密码文件,该文件的格式是“用户名:范围名(readlm名称,默认是trac):密码的密文”。
如下图
可以多次执行上面的命令在一个密码文件中为多个用户设定密码。
3. 使用带验证选项的行命令启动tracd
命令如下
tracd -p 8080 --auth=project1,/path/to/users.htdigest,mycompany.com /path/to/project1
或者
tracd -p 8080 --auth=*,/path/to/users.htdigest,mycompany.com /path/to/project1
具体到我们的项目就是
C:\Python24\Scripts>..\python tracd -p 8001 --auth=Angel_Trac,c:\scm\digest.txt,trac C:\SCM\Angel\Angel_Trac
或者
C:\Python24\Scripts>..\python tracd -p 8001 --auth=*,c:\scm\digest.txt,trac C:\SCM\Angel\Angel_Trac
需要注意:
a.红色的部分,是realm(范围),在行命令中的realm必须与生成密码文件的脚本总的realm相同。
b.蓝色的部分,也就是--auth的第一个参数,不是项目名称,是Trac环境全路径的最后一个目录。
ok,现在打开浏览器,访问Trac网站,点击“Login”,就会弹出登陆对话框进行身份验证了。如下图
是不是感觉很麻烦呢,没关系,Trac有插件来扩展这些功能,我们随后就会介绍如何用插件来管理用户和配置Trac。
最后,需要强调的是,这篇文章只是对使用tracd运行Trac的用户管理,其他方式请参考Trac官方网站的指南。
参考文献:
Trac的官方指南中的TracAdmin介绍。
Trac的官方指南中的Trac Permissions介绍。
Trac的官方指南中的Tracd介绍 。
分享到:
相关推荐
由于使用了Google的用于将OpenID 2.0标识符映射到OpenID Connect标识符,因此以前使用TracAuthOpenId进行针对Google身份验证的网站应该能够切换到使用trac-oidc而不会丢失用户的设置和权限。 此插件已经过Trac版本...
在权限管理方面,Trac有匿名(anonymous)和认证用户(authenticated)两种预设用户组。默认的匿名用户组可以浏览特定内容,而通过trac-admin命令可以创建具有TRAC_ADMIN权限的管理员账户,该账户可以访问Webadmin...
8. **赋予管理员权限**:使用 trac-admin 工具将特定用户设置为管理员,这样他们就能拥有 TRAC_ADMIN 权限,可以管理项目和用户权限。 9. **重启 Apache**:完成所有配置后,重启 Apache 服务器以应用新的设置。 ...
6. Gantt图表:Trac可以生成Gantt图表,展示项目计划和进度,帮助管理者可视化任务分配和完成情况。 7. 自定义报告:用户可以根据需求创建自定义报告,以获取特定的数据视图,如未解决的问题、最近的代码更改等。 ...
Trac是一款强大的软件项目管理和bug跟踪系统,它整合了Wiki、版本控制系统以及一系列查看项目事件和变更的功能。本文将深入介绍Trac的主要组件及其用途,帮助用户更好地理解和使用Trac。 1. **Wiki**: Wiki是Trac...
Trac是一款开源且免费的项目管理工具,它集成了版本控制系统、缺陷跟踪系统以及文档管理系统,主要用于软件开发项目的协作和管理。在这个“trac汉化安装程序”压缩包中,包含的是Trac的中文版安装文档和相关组件,...
Trac与Subversion(SVN)是两款在IT行业中广泛使用的工具,它们分别在项目管理和版本控制方面发挥着重要作用。本篇文章将详细讲解这两款工具的使用方法和关键概念。 Trac是一个开源的项目管理平台,它集成了问题...
Trac 是一个开源的项目管理软件应用平台,它集成了 Wiki 和问题跟踪管理系统,旨在帮助开发人员更好地写出高质量的软件。Trac 使用 Python 语言开发,需要有 Python 环境的支持,当前版本为 0.11Beta,Apache 2.2。 ...
- 进行必要的权限设置和用户管理操作。 #### 四、扩展Trac - **3.1 MOD_PYTHON的安装** - **配置Apache服务**:MOD_PYTHON是Apache的一个模块,用于支持Python脚本执行。需要在Apache配置文件中启用MOD_PYTHON并...
六、用户管理和权限 1. 在Trac环境中,用户可以通过注册账户来参与项目。管理员可以在Trac管理界面或通过`trac-admin`命令行工具添加、删除和管理用户。 2. 配置权限规则:`trac.ini`中的`[trac]`部分可定义全局权限...
通过合理定义角色、活动和权限,以及利用Trac提供的报表和统计功能,可以显著提高项目管理的效率和质量。对于那些希望改进项目管理流程、提高团队协作效率的企业和个人来说,Trac无疑是一个非常值得尝试的选择。
Trac是一个开源的增强型缺陷跟踪系统,它结合了易于使用的Web界面(包含wiki语法)、一个简单的缺陷/问题/任务管理系统和一个可方便浏览的文件存储库。Trac的核心功能通过支持变更集、问题管理和Wiki页面的集成方式...
通过`trac-admin`命令可以为用户分配不同级别的权限,如TRAC_ADMIN,以控制用户对系统的访问和管理权限。此外,TRAC还支持插件扩展,通过WebAdmin界面,用户可以轻松安装、启用或停用插件,进一步增强系统的功能。 ...
Trac是一个开源的软件项目管理工具,它集成了Wiki和问题跟踪管理系统,旨在帮助软件开发团队更有效地管理和协作。Trac以轻量级的方式构建,旨在不干扰现有的开发流程,而是增强其效率。该工具使用Python语言编写,...
Trac是一个开源的项目管理工具,它集成了版本控制系统、问题跟踪系统以及文档管理功能。在Trac中,插件是扩展其功能的关键途径。本指南将深入介绍如何开发Trac插件,以便为Trac环境添加自定义功能。 1. **Trac 1.0 ...
总的来说,Trac中文使用手册将指导用户如何有效地利用这个工具来管理软件开发项目,从基础的环境配置到高级的定制和扩展,涵盖了项目管理的各个环节。通过深入学习和实践,团队可以提升协作效率,实现项目的高效管理...
Trac是一款开源且免费的项目管理和问题跟踪工具,它提供了Web界面,使得团队协作和软件开发变得更加高效。Trac能够紧密集成版本控制系统,如Subversion(SVN),从而为开发者提供了一个透明的工作环境,便于他们追踪...
Trac是一款开源的项目管理和问题跟踪系统,它结合了版本控制系统、wiki、问题追踪和报告功能,为软件开发团队提供了一个高效协作的平台。本手册将详细介绍Trac的各项功能和操作流程,帮助中文用户更好地理解和使用这...
创建密码验证文件,用于Subversion和Trac的身份验证: ```bash sudo htpasswd -c /home/svn/htpasswd/passwd-test sudo htpasswd /home/svn/htpasswd/passwd-test ``` 编辑Apache配置,添加SVN模块: ```bash ...