tomcat设置子域名session共享以及修改JSESSIONID
本文由 小茗同学 发表于 2020-01-20 浏览(3839)
最后修改 2020-01-20 标签:tomcat session

背景

我们都知道,session是基于cookie实现的,tomcat的session默认基于一个名叫JSESSIONID的cookie实现,这个cookie默认放在当前域名下,这会导致不同子域名之间不能共享主域名的session,比如,我在blog.haoji.me下登录了,换到file.haoji.me又变成未登录,因为换了一个新的session。

方法

META-INF下新增一个context.xml文件,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context sessionCookieDomain=".haoji.me"
	sessionCookiePath="/"
	sessionCookieName="HAOJIME_JSESSIONID"/>

相信不用过多介绍就能看懂,主要是把sessionCookieDomain改成.你的主域名(比如以.开头,否则不会在子域名之间共享),我这里还顺便把sessionCookieName改了一下。

另外,修改tomcat的server.xml中的Context也是一样的,这里不多介绍。

效果: