为啥会有这个需求?最常见的场景是等保扫描,等保一般会要求会话在空闲xx分钟(如:30分钟),程序就自动断开并要求用户再次登录,以防止登录权限被人利用。
由cas的原理可知,登陆后server端保存了一个ticket用来校验登录权限,我们可以通过设置这个ticket的过期时间来实现空闲session退出。
具体到程序配置里面是通过tgt相关配置来控制的,可以在cas的配置文件(cas/WEB-INF/classes/application.properties)增加如下配置(单位是秒):
cas.ticket.tgt.maxTimeToLiveInSeconds=1800cas.ticket.tgt.timeToKillInSeconds=1800