CAS使用memcached存储ticket

9月 22, 2016 |

相关的视频教程观看地址:单点登录系列视频教程

CAS默认的TicketRegistry是DefaultTicketRegistry,默认的实现是基于内存中的一个ConcurrentHashMap来存放TicketRegistry数据的,如果CAS重启,那么TicketRegistry数据就会丢失,而且也不便于CAS的集群,所以在生产中更多的是使用其他的TicketRegistry存放技术,本文介绍基于memcached的实现。
操作步骤

修改pom.xml,添加依赖

<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-integration-memcached</artifactId>
<version>${cas.version}</version>
</dependency>
这个地方官方文档是陈旧的!!

修改deployerConfigContext.xml

<!-- <alias name="defaultTicketRegistry" alias="ticketRegistry" /> -->
<alias name="memcachedTicketRegistry" alias="ticketRegistry" />

默认是未加密的,如果需要加密,请添加如下的配置
<alias name="shiroCipherExecutor" alias="ticketCipherExecutor" />

修改cas.properties,添加

memcached.servers=192.168.14.129:11211
表示memcached服务器的地址
如果有加密,请添加加密的key[16字符]和签名的key[八进制数据,512位]
ticket.encryption.secretkey=C@$W3bSecretKey!
ticket.signing.secretkey=szxK-5_eJjs-aUj-64MpUZ-GPPzGLhYPLGl0wrYjYNVAGva2P0lLe6UGKGM7k8dWxsOVGutZWgvmY3l5oVPO3w

参考信息
https://apereo.github.io/cas/4.2.x/installation/Memcached-Ticket-Registry.html

Posted in: MySQL practise

Comments are closed.