SSO-CAS单点登录
基本概念
单点登录SSO ,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS(Centeral Authentication Service) 中央认证服务。
(CAS Central Authentication Service)是一款不错的针对Web应用的单点登录框架
单点登录SSO ,是目前比较流行的企业业务整合的解决方案之一。
SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS(Centeral Authentication Service) 中央认证服务。
(CAS Central Authentication Service)是一款不错的针对Web应用的单点登录框架
TGT(Ticket Granging Ticket)
TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。
TGT封装了Cookie值以及此Cookie值对应的用户信息。
用户在CAS认证成功之后,CAS生成cookie(叫TGC),写入浏览器,同时生成一个TGT对象放入自己的缓存,TGT对象的ID就是cookie的值。
当HTTP再次请求到来时,如果传来的有CAS生成的cookie,则CAS以此cookie值为key查询缓存中有无TGT,如果有的话则说明用户之前登录过,如果没有,则需要用户重新登录。
TGC(Ticket Granting cookie)
存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用,并且只能基于安全通道传输(Https)是CasServer用来明确用户身份的凭证。
ST(Service ticket)
服务票据,服务的唯一标识码,有CASServer发出(Http传送),用户访问Service时,service发现用户没有st,则要求用户去CAS获取ST。
用户向CAS发出获取ST的请求,CAS发现用户有TGT,则签发一个ST,返回给用户,用户拿着ST去访问service,service拿ST去CAS验证,验证通过后,允许用户访问资源。
服务票据,服务的唯一标识码,有CASServer发出(Http传送),用户访问Service时,service发现用户没有st,则要求用户去CAS获取ST。
用户向CAS发出获取ST的请求,CAS发现用户有TGT,则签发一个ST,返回给用户,用户拿着ST去访问service,service拿ST去CAS验证,验证通过后,允许用户访问资源。
TGT(Ticket Granging Ticket)
TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。
用户在CAS认证成功之后,CAS生成cookie(叫TGC),写入浏览器,同时生成一个TGT对象放入自己的缓存,TGT对象的ID就是cookie的值。
当HTTP再次请求到来时,如果传来的有CAS生成的cookie,则CAS以此cookie值为key查询缓存中有无TGT,如果有的话则说明用户之前登录过,如果没有,则需要用户重新登录。
TGC(Ticket Granting cookie)
存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用,并且只能基于安全通道传输(Https)是CasServer用来明确用户身份的凭证。
CAS Server
CASServer 负责完成对用户的认证工作,需要独立部署,CASServer会处理用户名/密码等凭证(Credentials)
CAS Client
负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到CAS Server进行认证。
原则上,客户端应用不再接受任何的用户名密码等 Credentials)
CASClient 与受保护的客户端应用部署在一起,以Filter方式保护的资源。
CAS Server
CASServer 负责完成对用户的认证工作,需要独立部署,CASServer会处理用户名/密码等凭证(Credentials)
CAS Client
负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到CAS Server进行认证。
原则上,客户端应用不再接受任何的用户名密码等 Credentials) CASClient 与受保护的客户端应用部署在一起,以Filter方式保护的资源。

- 如果User持有TGC且其还没有失效,那么久走基础协议图的Step4,达到了SSO的效果
- 如果TGC失效了,那么用户还是要重新认证(走基础协议图的step3)


SSO-CAS单点登录的更多相关文章
- SSO之CAS单点登录实例演示
本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...
- SSO之CAS单点登录详细搭建教程
本教程是我个人编写,花费几个小时的时间,给需要学习的人员学习使用,希望能帮助到你们. [环境说明]:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 ...
- CAS单点登录(SSO)完整教程
转:http://blog.csdn.net/frinder/article/details/7969925 CAS单点登录(SSO)完整教程(2012-02-01更新) 一.教程说明 前言 教程目的 ...
- cas 单点登录(SSO)实验之二: cas-client
cas 单点登录(SSO)实验之二: cas-client 参考文章: http://my.oschina.net/indestiny/blog/200768#comments http://wenk ...
- cas 单点登录(SSO)之一: jasig cas-server 安装
cas 单点登录(SSO)实验之一: jasig cas-server 安装 参考文章: http://my.oschina.net/indestiny/blog/200768#comments ht ...
- cas 单点登录(SSO)之中的一个: jasig cas-server 安装
cas 单点登录(SSO)实验之中的一个: jasig cas-server 安装 參考文章: http://my.oschina.net/indestiny/blog/200768#comments ...
- CAS单点登录(一)——初识SSO
转载:https://blog.csdn.net/Anumbrella/article/details/80821486 一.初识CAS 首先我们来说一下CAS,CAS全称为Central Authe ...
- CAS单点登录(SSO)服务端的部署和配置---连接MySQL进行身份认证
一.修改系统host,加入 127.0.0.1 server.test.com127.0.0.1 client1.test.com127.0.0.1 client2.test.com 二.安装grad ...
- SSO单点登录系列5:cas单点登录增加验证码功能完整步骤
本篇教程cas-server端下载地址:解压后,直接放到tomcat的webapp目录下就能用了,不过你需要登录的话,要修改数据源,C:\tomcat7\webapps\casServer\WEB-I ...
- CAS单点登录之mysql数据库用户验证及常见问题
前面已经介绍了CAS服务器的搭建,详情见:搭建CAS单点登录服务器.然而前面只是简单地介绍了服务器的搭建,其验证方式是原始的配置文件的方式,这显然不能满足日常的需求.下面介绍下通过mysql数据库认证 ...
随机推荐
- 2019“嘉韦思”杯RSA256题目wp
首先我们从网站下载了一个压缩包,解压出来一看里面有2个文件 首先我们先打开fllllllag康康,结果发现是一串乱码,这时候第一反应就是,文件被加密了,再看fllllllag下面的gy.key文件,更 ...
- Android移植学习笔记
1.一头雾水不知道用什么编译环境,不知道用什么下载软件 编译软件:Ubuntu12.04(编译主机系统),JDK(Java) 下载软件: 模拟器: qemu
- Windows中的时间(SYSTEMTIME和FILETIME) (转载)
转载:http://blog.csdn.net/bokee/article/details/5330791 两种时间系统之间没有本质区别(事实上CRT时间是用Windows时间实现的,当然这是说的VC ...
- CocoaPods的安装及使用
CocoaPods安装使用及配置私有库 http://www.exiatian.com/cocoapods%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%8F%8A%E ...
- C# 取form表单的数据
//key代表form表单中html元素的name属性值 public static string StringForm(string key) { string result = null; res ...
- Python3基础 file open 打开txt文件并打印出全文
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- <OFFER03>03_01_DuplicationInArray
#include<cstdio> bool duplicate(int numbers[], int length, int* duplication) { ) return false; ...
- vue.js组件(component)
简介: 组件(Component)是 Vue.js 最强大的功能之一. 组件可以扩展 HTML 元素,封装可重用的代码. 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面 ...
- FAST:通过Floodlight控制器下发流表
参考: Floodlight+Mininet搭建OpenFlow(四):流表操作 通过Floodlight控制器下发流表 下发流表的方式有两种: 1.借助Floodlight的北向API,利用curl ...
- HDU 3466 Proud Merchants(0-1背包)
http://acm.hdu.edu.cn/showproblem.php?pid=3466 题意: 最近,iSea去了一个古老的国家.在这么长的时间里,它是世界上最富有和最强大的王国.结果,这个国家 ...