文章目录
- 前言
- 一、概括
- 二、实际场景应用
- 1.更改空闲超时
- 2.更改记住我 cookie 的生命周期
- 3.在用户通过身份验证后的某个时间强制注销用户
- 总结
前言
在 Confluence 中有两个会话 Cookie:
- JSESSIONID: 由 Tomcat 使用和管理。
- 默认情况下,这被视为会话 cookie。
- seraph.confluence:由 Confluence 应用程序使用并通过Seraph Framework进行管理。
- 默认情况下,这被视为永久 cookie。
- 设置时seraph.confluence,其默认max-age配置为 14 天(1209600 秒)
一、概括
如果 Confluence 管理员需要调整用户的会话超时时间,那么我们需要调整这两个 cookie 的过期时间。
可以将更改应用于以下配置文件:
-
<confluence-install>/conf/web.xml
这是我们管理将在网络服务器上全局分配的 Tomcat 会话 cookie 的地方。 -
<confluence-install>/confluence/WEB-INF/web.xml
这是我们管理JSESSIONID分配给 Confluence 应用程序的 Tomcat 会话 cookie ( ) 的地方。
这里调整的值优先于上面的文件。 -
<confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
此文件中调整的值应用于seraph.confluence cookie。
这是 Confluence 集群时的主要配置。看如何在 Confluence 中配置“记住我”功能如果你想改变这个。
二、实际场景应用
1.更改空闲超时
假设希望在用户空闲 5 小时后使会话无效:
需要修改<confluence-install>/confluence/WEB-INF/web.xml
文件:
-
编辑文件,找到
<session-config>
元素(默认配置)<session-config><session-timeout>60</session-timeout><tracking-mode>COOKIE</tracking-mode> </session-config>
修改为
<session-config><session-timeout>300</session-timeout><tracking-mode>COOKIE</tracking-mode> </session-config>
-
重新启动 Confluence 以便应用更改。(当在集群上运行 Confluence 时,上述更改必须应用于每个节点,滚动重启)
2.更改记住我 cookie 的生命周期
假设您想将seraph.confluencecookie 的生命周期更改为 2 天:
需要修改<confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
-
编辑文件,在
<parameters>
标签中最末位置添加初始化参数<!-- session-timeout --> <init-param><param-name>autologin.cookie.age</param-name><param-value>172800</param-value> </init-param>
默认情况下,该autologin.cookie.age参数未在文件中设置。如果您之前进行了更改,您可能想要搜索它并修改那里的值。
-
重新启动 Confluence 以便应用更改。(当在集群上运行 Confluence 时,上述更改必须应用于每个节点,滚动重启)
3.在用户通过身份验证后的某个时间强制注销用户
假设您有严格的安全策略,并且您需要在用户会话通过身份验证后 8 小时过期,无论用户是否空闲:
需要对三个文件进行配置更改:
-
编辑文件
<confluence-install>/conf/web.xml
,找到<session-config>
元素(默认配置)<session-config><session-timeout>30</session-timeout> </session-config>
修改为
<session-config><session-timeout>480</session-timeout><tracking-mode>COOKIE</tracking-mode><cookie-config> <max-age>28800</max-age> </cookie-config> </session-config>
- session-timeout以分钟为单位配置,max-age以秒为单位配置
- 将 添加
<max-age>
到JSESSIONID会将其变成永久性 cookie。
-
编辑文件
<confluence-install>/confluence/WEB-INF/web.xml
,找到<session-config>
元素(默认配置)<session-config><session-timeout>60</session-timeout><tracking-mode>COOKIE</tracking-mode> </session-config>
修改为
<session-config><session-timeout>480</session-timeout><tracking-mode>COOKIE</tracking-mode><cookie-config> <max-age>28800</max-age> </cookie-config> </session-config>
-
编辑文件
<confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
,在<parameters>
标签中最末位置添加初始化参数<!-- session-timeout --><init-param><param-name>autologin.cookie.age</param-name><param-value>28800</param-value></init-param>
-
重新启动 Confluence 以便应用更改。(当在集群上运行 Confluence 时,上述更改必须应用于每个节点,滚动重启)
总结
不推荐第三种强制注销的更改,一般通过1/2两种方式,分别修改JSESSIONID session 和 seraph.confluence 就足够了。