小任班长的博客 - 域名session共享
type: channel
link: https://cnxiaocheng.top/tag/域名session共享/
items: 不同二级域名session共享的两种方式

不同二级域名session共享的两种方式
type: item
date: 2019-09-23T09:00:00+08:00
description: 背景：www.mydomain.com 和 test.mydomain.com的三级域名是不同的。默认情况下在相同浏览器、不同tab页访问分别访问这两个域名的session不共享的。因为cookie的domain是不一样的，所以浏览器不能携带同一目录的sessionId给服务器。登录一个域名，切换到第二个域名时，需要重新登录。使用一个过渡域名，将sessionID更新成一致如下： String JSESSIONID = request.getSession().getId();//获取当前JSESSIONID （不管是从主域还是二级域访问产生） Cookie cookie = new Cookie("JSESSIONID", JSESSIONID); cookie.setDomain(".test.com"); //关键在这里，将cookie设成主域名，确保不同域之间都能获取到该cookie的值，从而确保session统一 response.addCookie(cookie); //将cookie返回到客户端 request.getRequestDispatcher("indes.jsp").forward(request, response); tomcat配置context增加属性：<Context sessionCookieDomain=".mydomain.com" sessionCookiePath="/">