CAS使用Memcached存储Ticket的例子

www.111cn.net 更新:2016-09-23 编辑:kp12345 来源:转载
下面我们来看一篇关于CAS使用Memcached存储Ticket的例子,希望这篇文章能够给各位带来帮助,具体的如下文介绍。

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