1. 程式人生 > >Confluence 6 的小型文字檔案(Cookies)

Confluence 6 的小型文字檔案(Cookies)

求一個 link 應用服務 display api 內容 計劃任務 www 清理

這個頁面列出了存儲在 Confluence 用戶瀏覽器中的小型文字檔案(Cookies)內容。這些內容是由 Confluence 自己創建的。這個頁面不會列出由 Confluence 安裝的第三方插件在你瀏覽器中創建的 cookies。

授權 cookies

Confluence 使用 Seraph,是一個為 HTTP cookie 授權的開源框架。Confluence 為用戶授權使用 2 種類型的 cookies 。

  • JSESSIONID cookie 是由應用服務器創建的,同時被用來跟蹤用戶會話信息。這個 cookie 包含有隨機的字符串,隨著每次會話的結束和瀏覽器的關閉,這個會話將會被終止。

  • 當用戶在登錄界面中,選擇記住我(Remember me)

    選擇框的時候,'remember me' cookie, 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)