天天看点

基于CAS的单点登录SSO[3]: 改造cas-overlays-template支持Redis存储Ticket

基于CAS的单点登录SSO[3]: 改造cas-overlays-template支持Redis存储Ticket 作者:家辉,日期:2017-08-20 CSDN博客: http://blog.csdn.net/gobitan

摘要:默认CAS将Ticket存放在内存中的,在实际应用过程中通常需要存放在类似Redis之类的数据库中。本文介绍了如何配置让CAS支持将Ticket存放到Redis数据库中。

第一步:开启cas对redis的支持 在pom.xml中加入对cas-redis模块的依赖,参考: https://apereo.github.io/cas/5.1.x/installation/Redis-Ticket-Registry.html

<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-redis-ticket-registry</artifactId>
<version>${cas.version}</version>
</dependency>
           

第二步:配置redis 注意:这一步之前,需要先在本机安装redis服务器,且默认不配置密码。 在application.properties中增加redis的配置,参考: https://apereo.github.io/cas/5.1.x/installation/Configuration-Properties.html#redis-ticket-regisry

## Redis server host.
cas.ticket.registry.redis.host=localhost
#
## Database index used by the connection factory.
cas.ticket.registry.redis.database=0
#
## Redis server port.
cas.ticket.registry.redis.port=6379
           

第三步:运行cas server

sudo ./build.sh  
           

登录前检查redis里是否存储有CAS的key

dmacpro:config dennis$ redis-cli
127.0.0.1:6379> keys CAS*
(empty list or set)
           

然后访问 https:// cas.example.org :8443/cas/login,并输入前面的账户登录。登录后redis里新增了TGT,如下所示:

127.0.0.1:6379> keys CAS*
1) "CAS_TICKET:TGT-1-CSpbCFkGKdEIlWgqVAbfrO2bzBJ59oRModw6vKac0vfWcFm6vj-dmacpro"
           

参考资料: [1]  https://apereo.github.io/cas/5.1.x/index.html

继续阅读