Cas 5.2.x版本使用 —— 存储Ticket到redis(十六)

默认情况下,cas是将票据信息存储到内存中,我们可以将票据存储到redis服务器中,cas采用的spring data redis 来控制redis

将票据存储到redis需要两个步骤:

  1. 配置cas关于redis的依赖,

  2. 配置application.properties,添加redis的配置信息。

有关redis的安装配置,请参考底部教程参考链接。

pom.xml 配置

<!--redis支持,将票据存在redis,默认是内存中-->
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-redis-ticket-registry</artifactId>
    <version>${cas.version}</version>
</dependency>

application.properties 部分配置

##
# CAS Authentication Credentials
#
cas.authn.accept.users=tingfeng::tingfeng

#取消x-frame-options为deny限制,允许外部项目使用iframe嵌入cas-server登录页面
cas.httpWebRequest.header.xframe=false

##
# 开启json服务注册
#
cas.serviceRegistry.initFromJson=true

##
# 登出后允许跳转到指定页面
#
cas.logout.followServiceRedirects=true
        
# ST、PT 票据(生命周期)
cas.ticket.st.timeToKillInSeconds=20
cas.ticket.pt.timeToKillInSeconds=20

# 表示不对TGC进行加密,默认是true,TGC其实就是TGT经过JWT加密后的值而已(浏览器debug可见)
#cas.tgc.crypto.enabled=false

##
# redis配置,将ticket票据存在redis中,默认在内存里
#
cas.ticket.registry.redis.host=127.0.0.1
cas.ticket.registry.redis.database=1
cas.ticket.registry.redis.port=6379
# cas.ticket.registry.redis.password=tingfengg
cas.ticket.registry.redis.timeout=2000
cas.ticket.registry.redis.useSsl=false
#不设置redis线程池
cas.ticket.registry.redis.usePool=false

如果需要redis密码访问,查看redis.config中密码的设置

测试

我们先通过网站登录,然后手动清空缓存

默认生成的TGC是加密的,如果不需要加密,配置增加参数:cas.tgc.crypto.enabled=false

查看redis数据。key的格式为:CAS_TIVKET: TGT值

参考文章

windows下redis的安装使用教程 :https://www.youcl.com/info/3056

MacOS 系统安装 Redis:https://www.youcl.com/info/3133

https://apereo.github.io/cas/5.2.x/installation/Redis-Ticket-Registry.html

https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#redis-ticket-regisry


赞(52) 打赏
未经允许不得转载:优客志 » JAVA开发
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏