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

这个页面列出了存储在 Confluence 用户浏览器中的小型文字档案(Cookies)内容。这些内容是由 Confluence 自己创建的。这个页面不会列出由 Confluence 安装的第三方插件在你浏览器中创建的 cookies。

授权 cookies

Confluence 使用 Seraph,是一个为 HTTP cookie 授权的开源框架。Confluence 为用户授权使用 2 种类型的 cookies 。

  • JSESSIONID cookie 是由应用服务器创建的,同时被用来跟踪用户会话信息。这个 cookie 包含有随机的字符串,随着每次会话的结束和浏览器的关闭,这个会话将会被终止。
  • 当用户在登录界面中,选择记住我(Remember me)选择框的时候,'remember me' cookie, seraph.confluence,是由 Confluence 创建的。

(info) 有关 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

posted @ 2018-08-13 23:19  huyuchengus  阅读(330)  评论(0编辑  收藏  举报