cas分布式部署
2021/6/13 18:51:15
本文主要是介绍cas分布式部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
随着用户量的上升,单机的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分布式部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris