CAS企业级单点登录原理
https://blog.csdn.net/anumbrella/article/details/80821486
1、 单点登录概述
1.1、 什么是单点登录?
单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
1.2、 什么是CAS?
CAS框架:CAS(Central Authentication Service,即:统一认证服务)是实现SSO单点登录的框架。
1.3、 CAS框架结构
CAS分为两部分,CAS Server和CAS Client。
CAS Server用来负责用户的认证工作,就像是把第一次登录用户的一个标识
存在这里,以便此用户在其他系统登录时验证其需不需要再次登录。
CAS Client就是我们自己开发的应用程序,需要接入CAS Server端。当用户
访问我们的应用时,首先需要重定向到CAS Server端进行验证,要是原来登陆过,就免去登录,重定向到下游系统,否则进行用户名密码登陆操作。
1.4、 CAS中3个术语
Ticket Granting ticket (TGT) :可以认为是CAS Server根据用户名密码生成的一张票,存在Server端
Ticket-granting cookie (TGC) :其实就是一个Cookie,存放用户身份信息,由Server发给Client端
Service ticket (ST) :由TGT生成的一次性票据,用于验证,只能用一次。相当于Server发给Client一张票,然后Client拿着这个票再来找Server验证,看看是不是Server签发的。
1.5、 CAS处理流程
CAS处理流程图,如下图所示:
1、 用户访问网站,第一次来,重定向到 CAS Server,发现没有cookie,所以再重定向到CAS Server端的登录页面,并且URL带有网站地址,便于认证成功后跳转,形如 http ://cas-server:8100/login?service=http ://localhost:8081
注意:service后面这个地址就是登录成功后要重定向的下游系统URL。
2、 在登陆页面输入用户名密码认证,认证成功后cas-server生成TGT,再用TGT生成一个ST。 然后再第三次重定向并返回ST和cookie(TGC)到浏览器
3、浏览器带着ST再访问想要访问的地址http ://localhost:8081/?ticket=ST-25939-sqbDVZcuSvrvBC6MQlg5
注意:ticket后面那一串就是ST
4、浏览器的服务器收到ST后再去cas-server验证一下是否为自己签发的,验证通过后就会显示页面信息,也就是重定向到第1步service后面的那个URL
首次登陆完毕。
5、再登陆另一个接入CAS的网站,重定向到CAS Server,server判断是第一次来(但是此时有TGC,也就是cookie,所以不用去登陆页面了),但此时没有ST,去cas-server申请一个于是重定向到cas-server,形如:http: //cas-server:8100/login?service=http ://localhost:8082 && TGC(cookie) (传目标地址和cookie)
6、cas-server生成了ST后重定向给浏览器http ://localhost:8082/?ticket=ST-25939-sqfsafgefesaedswqqw5-xxxx
7、浏览器的服务器收到ST后再去cas-server验证一下是否为自己签发的,验证通过后就会显示页面信息(同第4步)
CAS企业级单点登录原理的更多相关文章
- cas实现单点登录原理
1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从 ...
- CAS实现SSO单点登录原理
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
- CAS实现SSO单点登录原理(转)
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
- 转 CAS实现SSO单点登录原理
原文链接 http://m.blog.csdn.net/hxpjava1/article/details/74019017 CAS 简介 1. 1.1. What is CAS ? CAS ( ...
- 一篇文章彻底弄懂CAS实现SSO单点登录原理
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web ...
- CAS单点登录原理简单介绍
1. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统. ...
- CAS实现单点登录SSO执行原理及部署
一.不落俗套的开始 1.背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS框架:CAS(Centra ...
- CAS 实现单点登录 .NET MVC
单点登录 Single Sign On,简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 单点登录原理 ...
- NET 单点登录原理
简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘 ...
随机推荐
- 【学术篇】bzoj3262 陌上花开. cdq分治入门
花儿们已经很累了-- 无论是花形.颜色.还是气味, 都不是为了给人们摆出来欣赏的, 更不是为了当做出题的素材的, 她们并不想自己这些属性被没有生命的数字量化, 并不想和其它的花攀比, 并无意分出个三六 ...
- Codeforces Round #567 (Div. 2)自闭记
嘿嘿嘿,第一篇文章,感觉代码可以缩起来简直不要太爽 打个div2发挥都这么差... 平均一题fail一次,还调不出错,自闭了 又一次跳A开B,又一次B傻逼错误调不出来 罚时上天,E还傻逼了..本来这场 ...
- 2019牛客暑期多校训练营(第七场) E 线段树+离散化
题目传送门 题意:按照一定的公式给出若干个$<l,r>$,每次往一个序列中加上l到r的数字,并输出中位数. 思路:需要将每个$区间$离散化,比如把$[1,2]$变成$[1,3)$,也就是$ ...
- STL之__ type_traits
__type_traits:双底线是说明这是SGI STL内部使用的东西,不在STL标准范围之内.iterator_traits负责萃取迭代器(iterator)的特性.而__type_traits则 ...
- Vim统计字符串出现次数
关键命令: :%s/pattern//gn 参数说明: % - 指明操作区间,%表示全文本:可以使用1,$或者行区间代替 s – substitute,表示替换 pattern - 要查找的字符串 / ...
- Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
Nacos近期发布了0.7.0版本,该版本支持对接第三方CMDB获取CMDB数据.使用Selector机制来配置服务的路由类型.支持单机模式使用MySQL数据库.上线Node.js客户端,并修复了一些 ...
- C++——虚继承(不要使用,会导致二义性)
如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能产生二义性 总结: 如果一个派生类从多个基类派生,而这些基类又有一个共同 的基类,则在对该基类中声明 ...
- js--判断当前环境是否为微信环境
/** * 判断是否是微信环境 */ function getIsWxClient () { var ua = navigator.userAgent.toLowerCase(); if (ua.ma ...
- Super OJ 序列计数
题意: 给出序列 a1,a2,--an(0≤ai≤109),求三元组(ai,aj,ak)(1≤i<j<k≤n)满足 ai<aj>ak 的数量. 分析: 开两个\(BIT\),分 ...
- HTTP协议请求篇
http协议的基本概念 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.是工作在tcp/ip协议基础上的,所有的WWW文件都必须 ...