trac在哪里将用户和密码存储在默认安装中?

时间:2013-03-15 15:02:17

标签: trac

我有一长串要删除的用户。我登录了trac.db,但是没有找到类似于用户/密码表的内容。 trac在哪里将用户和密码存储在默认安装中?

2 个答案:

答案 0 :(得分:2)

供将来参考:可能是使用

的最简单方法(since Trac 0.12
$ trac-admin <path-to-trac-env> session list
$ trac-admin <path-to-trac-env> session delete username1 username2 ...

答案 1 :(得分:1)

首先:到目前为止,Trac中既没有明确形式的概念也没有用户。所谓的“用户名”基本上是经过身份验证的会话ID,或映射到“匿名”会话的任意字符串。

查看最终的reference on Trac's db schema

会话表包含所有有效的会话ID。请注意,密钥是'sid'+'authenticated'标志(0 =未经身份验证,1 =经过身份验证)。如果愿意,匿名会话中的用户可以通过会话首选项选择另一个更难忘的会话ID。

如果 session 的主键在 session_attribute 中强制为外键,则它取决于Trac db后端。这是另一个相关表,它包含其他属性,如给定会话的名字+姓氏或电子邮件地址。再次'sid'+'authenticated'标志组合是那里的主键。

匿名会话在一段时间不活动后被Trac自动清除(在会话表的'last_visit'中注意POSIX秒/微秒时间戳),而经过身份验证的会话的条目将永远保留在那里。您很可能正在寻找它们(SELECT sid,last_visit FROM session WHERE authenticated = 1)。

你在Trac db中找不到密码哈希。只有像AccountManager的SessionStore这样的Trac插件才能在db(在这种情况下为表'session_attribute')中存储他们的密码哈希(绝不应该是明文中的密码)。根据您的身份验证设置,用户凭据是独立管理的,即在Apache htpasswd / htdigest格式的文件中,由Trac运行的Web服务器使用,或者 tracd 用于独立的Trac设置。