2011-07-07 74 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