Trac + AccountManagerPlugin:如何让cookie共享工作?

时间:2011-07-07 18:42:24

标签: authentication cookies trac http-authentication

我有一个包含多个项目的活动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)似乎是一个坏主意。

有解决方案吗?

1 个答案:

答案 0 :(得分:2)

SharedCookieAuthPlugin确实是要走的路。该插件的作者(k0s,别名Jeff Hammel)是requested auth_cookie_path选项的人,特别是他的插件。它在两年内没有更新的事实只是意味着它可以正常工作。