码迷,mamicode.com
首页 > 其他好文 > 详细

【CAS学习之一】CAS

时间:2020-09-24 21:20:29      阅读:34      评论:0      收藏:0      [点我收藏+]

标签: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安装

Overlay 方式构建 CAS

使用WAR overlay的方式来安装cas6.0

单点登录之CAS SSO从入门到精通
CAS单点登录的实现

单点登录之CAS原理和实现
使用 CAS

附录:
CAS支持多租户登录改造1
CAS支持多租户登录改造2

【CAS学习之一】CAS

标签:ticket   rgba   web服务器   sdn   可靠   关键概念   客户端   下载   权限   

原文地址:https://www.cnblogs.com/cac2020/p/13719609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!