标签:ticket rgba web服务器 sdn 可靠 关键概念 客户端 下载 权限
一、CAS 介绍
CAS 是Yale大学发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法,CAS在2004年12月正式成为JA-SIG的一个项目。
CAS 具有以下特点:
开源的企业级单点登录解决方案。
CAS Server为需要独立部署的Web应用。
CAS Client支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
二、CAS 原理和协议
1、CAS 包含两个部分: CAS Server 和 CAS Client ,CAS Client嵌入在应用程序中,而CAS Server是独立组件。
CAS Server :是一个war包,CAS框架已经提供,只需要把部署到web服务器上即可,负责验证用户并授权访问应用程序。
CAS Client:处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。不需要对这个部分进行过多编码,进行简单配置即可。
2、CAS协议是一种基于票证(ticket)的协议。
关键概念:
TGT(Ticket Granted Cookie):用户的SSO会话。
ST(Service Ticket):服务票据,在URL中作为GET参数传输,表示CAS服务器授予给特定用户的对于应用程序的访问权限。
3、CAS标准流程
三、构建CAS
目前最新版本是cas-6.3.0-RC2,依赖JDK11,官网建议使用WAR-Overlay方式构建CAS。
所谓的WAR-Overlay方式:会引入 CAS 项目组已经编译好的某一个可运行的二进制基础版本,然后在此基础上或者通过添加配置插入自己需要的模块,或者重写一些实现方法来定制个性化的功能,而基础版本中的代码会被覆盖,从而项目会以你希望的方式来执行
我们这里选用cas-overlay-template-5.2(https://github.com/apereo/cas-overlay-template/tree/5.2),依赖jdk1.8。
构建步骤:
1、克隆代码
git clone -b 5.2 https://github.com/apereo/cas-overlay-template.git
2、导入IDE,IDE选择idea
为什么导入IDE?
(1)编译构建,拿到我们需要的war,当然使用mvn或build.cmd命令也可以构建;
(2)就是为了二次开发。WAR-Overlay方式可以通过引入可插拔的模块或者是用自己重写的java方法来覆盖基础版本中的class实现来扩展CAS。
3、二次开发前的一些设置和调整
4、部署CAS
参考:
官网
cas源码下载
官方建议使用war-overlay安装
标签:ticket rgba web服务器 sdn 可靠 关键概念 客户端 下载 权限
原文地址:https://www.cnblogs.com/cac2020/p/13719609.html