CAS SSO单点登录框架介绍
1.了解单点登录
SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口.
SSO 的体系中有下面三种角色:
1) User(多个)
2) Web 应用(多个)
3) SSO 认证中心(一个)
2.SSO 实现包含以下三个原则
1) 所有的登录都在 SSO 认证中心进行。
2) SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的用户.
3) SSO 认证中心和所有的 Web 应用建立一种信任关系.
3.了解单点登录体系结构
1) CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户名/密码 等凭证(Credentials).
2) CAS Client 部署在客户端,当有对本地 Web 应用受保护资源的访问请求,并且需要对请 求方进行身份认证,重定向到 CAS Server 进行认证.
4.CAS SSO单点登录可以不依赖于cookie跨域的解决方案
不依赖于cookie跨域是比较有优势的,假如我们在京东商城上登录一次,在京东商城上其实还有很多的站点,点击其他站点以后是直接可以使用而无需重新登录,我们可以很清楚的看到,里面的域名都是不一样的,如果用传统的方案可能会出现cookie跨域的问题,解决起来比较麻烦。
5.CAS SSO单点登录官网:
https://www.apereo.org/projects/cas
6.CAS 源代码下载地址
进入源码下载地址,当前的git库是正在维护的CAS,也是最新的CAS
CAS最新版本可能存在不稳定的情况,所以这种下载方式我们也不建议使用,可以点击releases查看不同的版本,下载使用比较稳定的版本。
7.通过下载稳定版本的方式下载cas的相关源码包,如下:
直接选择4.2.1的稳定代码即可
8.我们项目中的版本版本使用maven apereo远程库去下载
通过远程maven库下载cas-server-webapp的war包,步骤如下:
(一)访问Maven地址: http://mvnrepository.com/,并搜索cas-server-webapp
(二)点击cas-server-webapp链接地址,下载最新的版本
9.下载cas-client-core的jar包,如下:
10.CAS document文档,cas使用spring mvc开发,支持的协议,支持的开发语言等
CAS的架构图:
Cas的安装要求(我们项目实例使用server版本4.2.7,clent版本是3.3):