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

最新文章

  1. 专业上的常用的工具和类库集 By 老衣
  2. 传递给数据库 &#39;master&#39; 中的日志扫描操作的日志扫描号无效
  3. Objective-C 高性能的循环
  4. 多线程基础(六)GCD基础
  5. nginx博客系统(内含nginx图片缩略图处理代码,不错)
  6. Shell字符串截取
  7. [CODEVS1037]取数游戏
  8. centos卸载自带的apache(httpd)
  9. 一道dfs和dp结合的好题 --- Longest Run on a SnowboardUVA-10285
  10. Spring官方文档下载
  11. 原创python:windows解决genymotion appium adb 的问题。
  12. 【xsy2913】 enos 动态dp
  13. VS2010Web默认的浏览器设置和VS里调试JavaScript代码的设置
  14. (转)关于C# 中的Attribute 特性
  15. 数据库 -- Oracle常用命令
  16. .gitignore文件如何编写?
  17. Java 将指定字符串连接到此字符串的结尾 concat()
  18. MYSQL学习笔记 (二)对数据库结构的增删改查
  19. laravel -- 路由
  20. CentOS Linux release 7.5.1804下安装MySQL5.7.24

热门文章

  1. WPF中,如何将绑定源设置到单件实例
  2. 【TRICK】[0,n)中所有大小为k的子集的方法
  3. LeetCode高频题目(100)汇总-Java实现
  4. 小白学习mysql 之 innodb locks
  5. 虚拟现实-VR-UE4-认识UE4
  6. 孤荷凌寒自学python第七十四天开始写Python的第一个爬虫4
  7. Django源码分析之server
  8. Win10下Pytorch的安装和使用[斗之力三段]
  9. Flask 学习笔记(二):RESTful API
  10. Ext.net中TreePanel动态生成