TGT、ST数据共享
多台CAS服务器共享TGT、ST数据,由于TGT、ST数据没有存储到SESSION中,所以需要单独处理TGT、ST数据的共享。可采用的方式有多种,例如:redis、memcached等NOSQL数据库,登录量小的可以选择关系型数据库等。Redis:
1、继承AbstractDistributedTicketRegistry类,重写ticket的增删改查方法
import java.util.Collection;
import org.apache.commons.lang.SerializationUtils;
import org.jasig.cas.ticket.Ticket;
import org.jasig.cas.ticket.TicketGrantingTicket;
import org.jasig.cas.ticket.registry.AbstractDistributedTicketRegistry;
import redis.clients.jedis.Jedis;
public class RedisTicketRegistry extends AbstractDistributedTicketRegistry {
//st ticket 最大空闲时间
private int stMaxFreeTime;
//tgt ticket 最大空闲时间
private int tgtMaxFreeTime;
private static Jedis jedis = new Jedis("localhost");
/**
* 添加票据
* Description
* @param ticket
* @see org.jasig.cas.ticket.registry.TicketRegistry#addTicket(org.jasig.cas.ticket.Ticket)
*/
@Override
publ

本文介绍了CAS集群中实现TGT(Ticket Granting Ticket)和ST(Service Ticket)数据共享的步骤,包括继承AbstractDistributedTicketRegistry并重写相关操作,修改ticketRegistry配置,引入jedis库以及解决Cas集群登出问题的代码调整。同时提到了SESSION共享参考Tomcat Session共享方案。
最低0.47元/天 解锁文章
7443

被折叠的 条评论
为什么被折叠?



