Tomcat 7 的domain域名配置,Tomcat 修改JSESSIONID

本文涉及的产品
.cn 域名,1个 12个月
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/64581325 应用场景:公司有站点 www.shanhy.com、tow.shanhy.com、three.shanhy.com ……,站点使用 SpringMVC + Shiro + Redis 来实现的 session 子域共享。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/64581325

应用场景:

公司有站点 www.shanhy.com、tow.shanhy.com、three.shanhy.com ……,站点使用 SpringMVC + Shiro + Redis 来实现的 session 子域共享。
Shiro 中设定的domain cookieName 为 SHAREJSESSIONID。

问题:

1、Tomcat 再没有做任何特殊配置的情况下(默认下载包),其session的CookieID为 JSESSIONID(sessionId 是通过浏览器Cookie 来存储和传递的,这个不再多解释)。
2、我们访问 www.shanhy.com 主站时,Tomcat 的 JSESSIONID 在Cookie 中的Domain为 www.shanhy.com

目的:

1、让3个站点的sessionId 的CookieName 为 SHAREJSESSIONID
2、让站点的所有Cookie 默认在所有子域中共享,即Cookie 的Domain 为 .shanhy.com

实现:

1、修改Tomcat 的 conf/server.xml 文件,修改接近文件最下面的 <Context ………… /> 元素,为例:

………………
<Context sessionCookieDomain=".shanhy.com" sessionCookiePath="/" sessionCookieName="SHAREJSESSIONID" />
………………

2、修改SpringMVC 集成Shiro 的 xml 配置文件,配置片段如下:

    ……… 集成 Shiro 的其他配置(忽略) ………

    <!-- 指定本系统SESSIONID名, Tomcat默认为JSESSIONID。问题:与SERVLET容器名冲突, 如JETTY, TOMCAT 等默认JSESSIONID, 当跳出SHIRO SERVLET时如ERROR-PAGE容器会为JSESSIONID重新分配值导致登录会话丢失! -->
    <bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
        <!-- 重新定义会话的cookie name -->
        <constructor-arg name="name" value="SHAREJSESSIONID" />
        <!-- sessionId的path为 / 用于多个系统共享 sessionId -->
        <property name="path" value="/" />
        <!-- 共享同一个主域 -->
        <property name="domain" value="shanhy.com"/>
    </bean>
目录
相关文章
|
1月前
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
150 7
|
1月前
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
222 4
|
3月前
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS
|
24天前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
939 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
32 4
|
1月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
34 3
|
2月前
|
数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于域名匹配案例
这篇文章介绍了HAProxy的高级配置选项中的ACL(访问控制列表)功能,特别是如何基于域名匹配进行流量分发的案例,包括ACL的基本概念、语法、使用场景和配置实例。
101 8
HAProxy的高级配置选项-ACL篇之基于域名匹配案例
|
2月前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之域名重定向案例
这篇文章介绍了HAProxy的ACL(访问控制列表)功能,特别是如何基于域名进行重定向的高级配置选项,并通过实战案例展示了如何配置ACL规则以实现基于特定域名的HTTP重定向。
72 6
HAProxy的高级配置选项-ACL篇之域名重定向案例