ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

cas分布式部署

2021-06-13 18:34:23  阅读:171  来源: 互联网

标签:cas redis 部署 session registry ticket pool 分布式


随着用户量的上升,单机的cas服务肯定是不行的,因此需要分布式来部署多台,要满足分布式部署,需要满足下面两个条件:
1、采用统一的ticket存取策略,所有ticket的操作都从中央缓存redis中存取。
2、采用session共享,tomcat的session的存取都从中央缓存redis中存取。(这一步可省略,我是将验证码放到了session中所以做session共享)

第一步:redis存储ticket
参考文档
https://apereo.github.io/cas/5.3.x/installation/Redis-Ticket-Registry.html
https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties-Common.html#redis-configuration

pom添加依赖

<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-redis-ticket-registry</artifactId>
    <version>${cas.version}</version>
</dependency>

配置application.properties文件

#配置redis存储ticket
cas.ticket.registry.redis.host=127.0.0.1
cas.ticket.registry.redis.database=0
cas.ticket.registry.redis.port=6379
cas.ticket.registry.redis.password=wsc123456
cas.ticket.registry.redis.timeout=2000
cas.ticket.registry.redis.useSsl=false
cas.ticket.registry.redis.usePool=true
cas.ticket.registry.redis.pool.max-active=20
cas.ticket.registry.redis.pool.maxIdle=8
cas.ticket.registry.redis.pool.minIdle=0
cas.ticket.registry.redis.pool.maxActive=8
cas.ticket.registry.redis.pool.maxWait=-1
cas.ticket.registry.redis.pool.numTestsPerEvictionRun=0
cas.ticket.registry.redis.pool.softMinEvictableIdleTimeMillis=0
cas.ticket.registry.redis.pool.minEvictableIdleTimeMillis=0
cas.ticket.registry.redis.pool.lifo=true
cas.ticket.registry.redis.pool.fairness=false
cas.ticket.registry.redis.pool.testOnCreate=false
cas.ticket.registry.redis.pool.testOnBorrow=false
cas.ticket.registry.redis.pool.testOnReturn=false
cas.ticket.registry.redis.pool.testWhileIdle=false
#cas.ticket.registry.redis.sentinel.master=mymaster
#cas.ticket.registry.redis.sentinel.nodes[0]=localhost:26377
#cas.ticket.registry.redis.sentinel.nodes[1]=localhost:26378
#cas.ticket.registry.redis.sentinel.nodes[2]=localhost:26379

配置结束。
重启cas 登录之后测试一下,查看redis 里面是不是有CAS_TICKET:开头的key了。

第二步:session存入redis
参考文档
https://apereo.github.io/cas/5.3.x/installation/Webflow-Customization-Sessions.html

pom添加依赖
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-webapp-session-redis</artifactId>
    <version>${cas.version}</version>
</dependency>

配置application.properties文件

#配置redis存储session
cas.webflow.autoconfigure=true
cas.webflow.alwaysPauseRedirect=false
cas.webflow.refresh=true
cas.webflow.redirectSameState=false

cas.webflow.session.lockTimeout=30
cas.webflow.session.compress=false
cas.webflow.session.maxConversations=5
cas.webflow.session.storage=true
spring.session.store-type=redis
spring.redis.host=127.0.0.1
spring.redis.password=wsc123456
spring.redis.port=6379

配置结束。
重启cas服务,进入登录页面,进行登录。然后查看redis 就会看到spring session等信息。

测试
如下图所示,启动之后,可以看到redis中已经有了session的信息,并且登录验证码也可以在redis中看到
在这里插入图片描述

标签:cas,redis,部署,session,registry,ticket,pool,分布式
来源: https://blog.csdn.net/qq_41673830/article/details/117883625

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有