# Spring-cas-sso **Repository Path**: WZF-wzf/Spring-cas-sso ## Basic Information - **Project Name**: Spring-cas-sso - **Description**: Spring整合Jasig CAS框架实现单点登录 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2020-07-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring-CAS 单点登录在IT系统中是一项常用的重要功能。本项目基于知名的Jasig CAS框架,实现单点登录的功能,内容包括: CAS Server端: 1.CAS服务器端基于CAS3.5.1配置; 2.在CAS-Server\cas\WEB-INF\deployerConfigContext.xml中配置数据源,来源于三个不同的数据库,读取用户表和密码信息用于验证; 3.CAS默认需要开启https,比较麻烦,在这里关闭https的配置: 修改deployerConfigContext.xml: ``` ``` 修改ticketGrantingTicketCookieGenerator.xml和warnCookieGenerator.xml。把p:cookieSecure="true"改为p:cookieSecure="false" CAS Client端: 1.Client端基于cas-client-core 3.2.1实现; 2.在CAS-Client项目的web.xml中,配置相关的过滤器,对发往应用的请求进行拦截,若没有登录,则自动跳转到单点登录的页面,如下图: ![输入图片说明](https://git.oschina.net/uploads/images/2017/0701/140358_060866f2_1110335.png "在这里输入图片标题") - CAS做单点登录存在的不足: 1. 不利于分布式部署,一旦CAS的客户端和服务器做了分布式部署的话,就得自行实现ticket共享和session共享,比较麻烦,CAS整体上还是比较适合传统的单机项目。 2. 代码比较笨重,认证流程也较为繁琐。 ### 附录:个人作品索引目录(持续更新) #### 基础篇:职业化,从做好OA系统开始 1. [Spring boot整合Mybatis实现增删改查(支持多数据源)](https://gitee.com/shenzhanwang/SSM)![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题") 2. [Struts2,Hibernate,Spring三大框架的整合实现增删改查](https://gitee.com/shenzhanwang/S2SH) 3. [Spring,SpringMVC和Hibernate的整合实现增删改查](https://gitee.com/shenzhanwang/SSH) 4. [Spring平台整合activiti工作流引擎实现OA开发](https://gitee.com/shenzhanwang/Spring-activiti)![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题") 5. [Spring发布与调用REST风格的WebService](https://gitee.com/shenzhanwang/Spring-REST) 6. [Spring整合Apache Shiro框架,实现用户管理和权限控制](https://gitee.com/shenzhanwang/Spring-shiro) 7. [使用Spring security做权限控制](https://gitee.com/shenzhanwang/spring-security-demo) 8. [Spring整合Jasig CAS框架实现单点登录](https://gitee.com/shenzhanwang/Spring-cas-sso) #### 中级篇:中间件的各种姿势 9. [Spring连接mongoDB数据库实现增删改查](https://gitee.com/shenzhanwang/Spring-mongoDB) 10. [Spring连接Redis实现缓存](https://gitee.com/shenzhanwang/Spring-redis) 11. [Spring连接图存数据库Neo4j实现增删改查](https://gitee.com/shenzhanwang/Spring-neo4j) 12. [Spring平台整合消息队列ActiveMQ实现发布订阅、生产者消费者模型(JMS)](https://gitee.com/shenzhanwang/Spring-activeMQ) 13. [Spring整合消息队列RabbitMQ实现四种消息模式(AMQP)](https://gitee.com/shenzhanwang/Spring-rabbitMQ) 14. Spring框架的session模块实现集中式session管理 [购买](http://t.cn/Ai80zekN) 15. [Spring整合websocket实现即时通讯](https://gitee.com/shenzhanwang/Spring-websocket)![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题") 16. 使用Spring boot整合mybatis,rabbitmq,redis,mongodb实现增删改查 [购买](http://t.cn/Ai8Yh8Oy) 17. [Spring MVC整合FastDFS客户端实现文件上传](https://gitee.com/shenzhanwang/Spring-fastdfs) 18. 23种设计模式,源码、注释、使用场景 [购买](http://t.cn/Ai8Y7tEF) 19. [使用ETL工具Kettle的实例](https://gitee.com/shenzhanwang/Kettle-demo) 20. Git指南和分支管理策略 [购买](http://t.cn/Ai8Y7948) 21. 使用数据仓库进行OLAP数据分析(Mysql+Kettle+Zeppelin) ![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题")[购买](http://t.cn/Ai8Y7dVD) #### 高级篇:架构之美 22. [zookeeper原理、架构、使用场景和可视化](https://gitee.com/shenzhanwang/zookeeper-practice) 23. Spring boot整合Apache dubbo v2.7.5实现分布式服务治理(SOA架构) ![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题") [购买](https://dwz.lc/beP9N33) > 包含组件Spring boot v2.2.2+Dubbo v2.7.5+Nacos v1.1.1 效果图 24. 使用Spring Cloud Alibaba v2.1.0实现微服务架构(MSA架构)![输入图片说明](https://img.shields.io/badge/-%E6%8B%9B%E7%89%8C-yellow.svg) [购买](https://dwz.lc/IdmrHzd) > 包含组件Nacos+Feign+Gateway+Ribbon+Sentinel+Zipkin 效果图 25. 使用jenkins+centos+git+maven搭建持续集成环境自动化部署分布式服务 [购买](http://t.cn/Ai8YZbaX) 26. 使用docker+compose+jenkins+gitlab+spring cloud实现微服务的编排、持续集成和动态扩容 [购买](http://t.cn/Ai8YZCYK) 27. 使用FastDFS搭建分布式文件系统(高可用、负载均衡)[购买](http://t.cn/Ai8YZePu) 28. 搭建高可用nginx集群和Tomcat负载均衡 [购买](http://t.cn/Ai8Ywlr8) 29. 搭建可扩展的ActiveMQ高可用集群 [购买](http://t.cn/Ai8YAbA8) 30. 实现Mysql数据库的主从复制、读写分离、分表分库、负载均衡和高可用 [购买](http://t.cn/Ai8YAOAK) 31. 搭建高可用redis集群实现分布式缓存 [购买](http://t.cn/Ai8Y2NQy) 32. [Spring boot整合Elastic search实现全文检索](https://gitee.com/shenzhanwang/Spring-elastic_search) ![输入图片说明](https://img.shields.io/badge/-%E6%8B%9B%E7%89%8C-yellow.svg "在这里输入图片标题") #### 特别篇:分布式事务和并发控制 33. 基于可靠消息最终一致性实现分布式事务(activeMQ)[购买](http://t.cn/Ai8YLPBL) 34. Spring boot dubbo整合seata实现分布式事务![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题") [购买](https://dwz.lc/csO0rp2) > 包含组件nacos v1.1.0 + seata v0.7.1 +spring boot dubbo v2.7.5 效果图 35. Spring cloud alibaba v2.1.0整合seata实现分布式事务 ![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题")[购买](https://dwz.lc/0T8KCTC) > 包含组件nacos v1.1.0 + seata v0.7.1 +spring cloud alibaba v2.1.0 效果图 36. 决战高并发:数据库锁机制和事务隔离级别的实现![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题") [购买](http://t.cn/Ai8YyAQE) 37. 决战高并发:使用redis实现分布式锁 ![输入图片说明](https://img.shields.io/badge/-%E7%B2%BE%E5%93%81-orange.svg "在这里输入图片标题")[购买](http://t.cn/Ai8Y4bER) 38. 决战高并发:使用zookeeper实现分布式锁 [购买](http://t.cn/Ai8Y4Cuq) 39. 决战高并发:Java多线程编程实例 [购买](http://t.cn/Ai8Y4s0r) 40. 决战高并发:使用netty实现高性能NIO通信 [购买](http://t.cn/Ai8Ybq3e) ### 快捷入口 我的网店 全套大礼包2020年版