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