Confluence 6 的小型文字檔案(Cookies)
授權 cookies
Confluence 使用 Seraph,是一個為 HTTP cookie 授權的開源框架。Confluence 為用戶授權使用 2 種類型的 cookies 。
JSESSIONID cookie 是由應用服務器創建的,同時被用來跟蹤用戶會話信息。這個 cookie 包含有隨機的字符串,隨著每次會話的結束和瀏覽器的關閉,這個會話將會被終止。
當用戶在登錄界面中,選擇記住我(Remember me)
seraph.confluence
,是由 Confluence 創建的。
有關 cookies 的相關信息,你可以閱讀 Wikipedia page about HTTP cookies 頁面中的內容。
'remember me' cookie
'remember me' cookie, seraph.confluence
,是一個長期存活的 HTTP cookie。這個 cookie 可以被用來授權一個沒有授權的會話。當用戶在登錄界面的時候選擇了記住我(Remember me)Confluence 將會創建這個 cookie。
Cookie 的 key 和內容
在默認的情況下,cookie 的 key 是 seraph.confluence
,這個配置是在 login.cookie.key
參數中定義的。這個參數可以在 CONFLUENCE-INSTALLATION/confluence/WEB-INF/classes/seraph-config.xml
文件中找到。
cookie 包含有一個獨一無二的識別號同時包含一個安全隨機字符串(例如,token)。這個 token 是 Confluence 創建的,同時還存儲在 Confluence 數據庫中。
為授權使用 cookie
當用戶請求一個 web 頁面的時候。用戶沒有通過基於會話的授權的話,Confluence 將會對比 記住我(remember me)中存儲的 cookie(如果這個 cookie 存在的話)。這個 cookie 為用戶存儲數據在 Confluence 數據庫中。
如果 cookie 中的 token與存儲在數據庫中的 token 相同,那麽表示這個用戶的 cookie 沒有過期,用戶能夠被順利授權。
'remember me' cookies 的生命周期
你可以配置這個 cookie 的最大生存周期。希望對這個配置進行修改,你需要修改 CONFLUENCE-INSTALLATION/confluence/WEB-INF/classes/seraph-config.xml
文件,然後插入下面的配置參數到 init-param
元素下:
< init-param > < param-name >autologin.cookie.age</ param-name > < param-value >2592000</ param-value > <!-- 30 days in seconds --> </ init-param > |
'remember me' tokens 的自動清理
所有由 Confluence 簽發的 cookie 都會存儲在數據庫庫中。我們有一個計劃任務在每個月 20 號的時候清理過期的 token。這個是由觸發器 clearExpiredRememberMeTokensTrigger
觸發的。
註意:這個計劃任務的的主要任務是為了避免數據庫中數據的過度膨脹。在用戶授權部分,Confluence 將會忽略掉過期的 token,而讓過期的 token 在數據庫中一直存在。
可以禁用 'remember me' 功能嗎?
Confluence 不提供禁用 'Remember Me' 的功能,請參考 workaround 頁面中的內容。
https://www.cwiki.us/display/CONF6ZH/Confluence+Cookies
Confluence 6 的小型文字檔案(Cookies)