2011-07-07 41 views
1

我有一个有多个项目的活动Trac安装。我正在使用AccountManagerPlugin来管理用户帐户,并允许用户管理自己的帐户。Trac + AccountManagerPlugin:如何让cookie共享工作?

我现在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)似乎是一个不好的主意。

有没有解决方案?

回答

2

SharedCookieAuthPlugin的确是要走的路。插件的作者(k0s,别名Jeff Hammel)是requestedauth_cookie_path选项的人,专门针对他的插件。它在两年内没有更新的事实仅仅意味着它的运作原样。

+1

其实,这只是意味着它没有维护。有开放的,尚未解决的问题,它看起来像当前版本是为Trac版本0.11编写的。尽管如此,试试看看会发生什么。如果遇到问题,您可以随时将其删除。 – bta

+0

那么,这是一个单一的公开问题,所以这几乎不能断定它没有维护。 Trac本身也有一些悬而未决的问题,我不会称之为无人维护。但你仍然是对的:http://trac-hacks.org/ticket/5566#comment:12 –

+1

因为公开的问题,我没有把它称为无人维护,我把它称为无人维护,因为作者说他不是保持它:-)该插件也被标记为“needsadoption”,这通常表示以前的维护者已经放弃它。 – bta