安装 Trac 实例后,我删除了匿名的用户,因为我不希望匿名用户进入系统。但是,当浏览 Trac 实例并登录失败时(身份验证由 Apache 处理使用密码文件),Trac 将显示一个错误页面,并在右上角显示登录和优先链接。单击“首选项”链接将使未经身份验证的用户进入“首选项”页面,可以在该页面进行更改(例如时区等)。
我可以删除优先通过在菜单中将其设置为禁用来从菜单中链接[元导航]部分trac.ini:
[metanav]
prefs = disabled
然而,即使链接在视觉上不再存在,任何人仍然可以通过添加/首选项到 URL。我如何有效地删除优先Trac 中未经身份验证的用户的链接?
答案1
偏好设置仅影响当前用户会话,因此匿名用户可以设置自己的偏好设置,但不会影响任何其他用户(甚至其他匿名用户)。提供该功能有什么顾虑?
答案2
您可能希望将 ApacheAuth 用于 Trac(可能针对 AD、LDAP 或仅 .htpasswd):这样只有经过身份验证的用户才能首先看到该页面。
另外您不必担心 Trac 登录过程的安全性(垃圾邮件等)。
答案3
trac-admin /opt/trac/$setup_name 权限删除匿名‘*’
这应该剥夺匿名用户的所有权限。
更新:显然这并没有给卢克带来预期的结果。
建议 2:如果您重新添加匿名然后将其锁定会怎样?#1 评论提到偏好页面公开并不是什么大问题。这对您有用吗,卢克?