Trac 使用数据库认证

5 投票
3 回答
990 浏览
提问于 2025-04-15 12:11

可以用数据库来进行身份验证吗?在这个安装中,不想使用 .htpasswd 这种认证方式。

我现在用的是 Trac 0.11 和 MySQL 作为数据库。Trac 目前在使用这个数据库,但并没有提供身份验证的功能。

3 个回答

0

请参考 http://trac-hacks.org/wiki/AccountManagerPlugin

在你的 trac.ini 文件中,做以下设置:

[components]
; 确保启用这个组件
acct_mgr.svnserve.* = enabled
acct_mgr.svnserve.svnservepasswordstore = enabled
; 选择一种哈希方法
acct_mgr.pwhash.htdigesthashmethod = enabled
acct_mgr.pwhash.htpasswdhashmethod = enabled

[account-manager]
password_store = SvnServePasswordStore
password_file = /path/to/svn/repos/conf/passwd
; 选择一种哈希方法
hash_method = HtDigestHashMethod
hash_method = HtPasswdHashMethod

现在,trac 将会使用数据库中的用户信息。

1

你可以使用 带有会话存储的账户管理插件

这个账户管理插件提供了几个管理用户账户的功能:

  • 允许用户注册新账户
  • 通过一个HTML表单登录,而不是使用HTTP认证
  • 允许已有用户更改密码或删除他们的账户
  • 给忘记密码的用户发送新密码
  • 管理用户账户
5

默认情况下,Trac并不自己处理用户登录,而是把这个工作交给了网络服务器。所以,你可以使用很多与Apache相关的选项。比如,你可以考虑使用auth_mysql,这样就可以把用户的登录信息存储在数据库里。

另外,你也可以看看AccountManagerPlugin,这个插件在trac-hacks.org上可以找到。

撰写回答