我有一个包含多个项目的活动Trac安装。我使用AccountManagerPlugin来管理用户帐户,并允许用户管理自己的帐户。
我当前的AccountManagerPlugin配置如下所示:
[account-manager]
account_changes_notify_addresses =
authentication_url =
force_passwd_change = true
generated_password_length = 8
hash_method = HtDigestHashMethod
htdigest_realm = TracRealm
notify_actions = []
password_file = /home/sms/trac_sites/trac.htdigest
password_store = HtDigestStore
persistent_sessions = true
user_lock_max_time = 0
verify_email = false
这很有效,除了:每个Trac项目目前都需要单独的身份验证。项目无法共享其身份验证Cookie。
设置auth_cookie_path = /trac
不起作用,因为会话数据存储在每个项目自己的数据库中;因此,一个项目无法验证另一个项目的cookie。更糟糕的是,这会导致项目覆盖彼此的cookie。
使用未记载的两年前的猴子补丁(SharedCookieAuthPlugin)似乎是一个坏主意。
有解决方案吗?
答案 0 :(得分:2)
SharedCookieAuthPlugin确实是要走的路。该插件的作者(k0s,别名Jeff Hammel)是requested auth_cookie_path
选项的人,特别是他的插件。它在两年内没有更新的事实只是意味着它可以正常工作。