转:Spring-session & redis 子域名共享session
2024-08-27 03:41:30
Spring-session & redis 子域名共享session
例子:
- a.example.com
- b.example.com
spring 版本 4.2.6.RELEASE
Spring-session Maven 依赖相关的包
<!-- redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.7.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.2</version>
</dependency>
Redis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"
default-autowire="byName" default-lazy-init="true"> <!-- redis -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
</bean> <!-- 设置Cookie domain 和 名称 -->
<bean id="defaultCookieSerializer" class="org.springframework.session.web.http.DefaultCookieSerializer">
<property name="domainName" value=".example.com"/>
<property name="cookieName" value="JSESSIONID"/>
<!--<property name="domainNamePattern" value="^.+?\\.(\\w+\\.[a-z]+)$"/>-->
</bean> <bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.host}" />
<property name="port" value="${redis.port}" />
<property name="password" value="${redis.pass}" />
<property name="timeout" value="${redis.timeout}" />
<property name="poolConfig" ref="jedisPoolConfig" />
<property name="usePool" value="true" />
</bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
</bean> <!-- 将session放入redis -->
<bean id="redisHttpSessionConfiguration"
class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
<property name="maxInactiveIntervalInSeconds" value="1800" />
<property name="cookieSerializer" ref="defaultCookieSerializer"/>
</bean> </beans>
以上配置完后,分别启动 a tomcat(a.example.com),b tomcat(b.example.com) 查看sessionid 是否已经一致了 : )
另外告诉大家一个点.有问题,上github 搜 issues 关键字 : )
https://github.com/spring-projects/spring-session/issues/297
参考资料:
Spring Session - Custom Cookie
关于spring session redis共享session的一个坑
利用spring session解决共享Session问题
转载请注明本帖地址:http://blog.csdn.net/beflyabot/article/details/51449315
最新文章
- 专业上的常用的工具和类库集 By 老衣
- 传递给数据库 &#39;master&#39; 中的日志扫描操作的日志扫描号无效
- Objective-C 高性能的循环
- 多线程基础(六)GCD基础
- nginx博客系统(内含nginx图片缩略图处理代码,不错)
- Shell字符串截取
- [CODEVS1037]取数游戏
- centos卸载自带的apache(httpd)
- 一道dfs和dp结合的好题 --- Longest Run on a SnowboardUVA-10285
- Spring官方文档下载
- 原创python:windows解决genymotion appium adb 的问题。
- 【xsy2913】 enos 动态dp
- VS2010Web默认的浏览器设置和VS里调试JavaScript代码的设置
- (转)关于C# 中的Attribute 特性
- 数据库 -- Oracle常用命令
- .gitignore文件如何编写?
- Java 将指定字符串连接到此字符串的结尾 concat()
- MYSQL学习笔记 (二)对数据库结构的增删改查
- laravel -- 路由
- CentOS Linux release 7.5.1804下安装MySQL5.7.24