提示:目前了解到的,此方式只能实现父级域名一致的子域名间单点登录,如用户登录了a.xx.com,再访问b.xx.com/xxx.do,则不需要再登录。
单点登录(个人理解,如有不足,请补充):由多个服务组成的一组服务,登录其中一个服务后,访问其他服务的受限资源,不再需要登录
实现方式(个人理解,如有不足,请补充):
1、共享session:本文基于此,只有让不同的tomcat共用一个session对象,才真正实现了session共享,从而实现单点
2、放弃session:引入认证中心,每次访问受限资源,携带token
3、只是单纯共享登录状态:重写ValveBase ,见http://blog.csdn.net/luka2008/article/details/38385703/
准备工作:
1、新建web工程(或者已经使用session的既有工程),基于maven
2、准备redis实例
3、修改pom,加入如下dependency
<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-red