(一)SSO之CAS框架通俗原理
版权声明:本文为博主原创文章。转载请标明出处。
https://blog.csdn.net/lovesummerforever/article/details/36068249
SSO统一验证
SSO(Single Sign On )。SSO统一验证的目的是为了让多个系统使用统一登录入口,用户仅仅须要登录当中一个系统。在cookie时间内便能够不用登录,就直接进入系统了。
CAS简单介绍
CAS是SSO的一个框架,全称为:Central Authentication Service,是一款不错的针对web应用的单点登录框架,包含java,。
net。PHP,Prel。Apache,uPortal。Ruby等。
直接上原理图,例如以下图所看到的:
这幅图画的是非常不错的,思前想后,还是直接搬过来了。我们以第一次登录和不是第一次登录为分界线讲述。
首先须要明确几个道理,什么是server,什么是client?
server,从第一次听到这个字眼到如今一直让我们感到十分神奇的感觉,一种高高在上的感觉,在天上的感觉。而实际上server和我们的这种感觉恰好相反,server,就是为别人提供服务的。百度百科是这样说的,server是指一个管理资源并为用户提供服务的计算机。
说白了server就是一台计算机。仅仅只是这台计算机能够给别的应用或者计算机提供服务,就像餐厅中服务员为顾客服务一样。而一台这种计算机,人们把他拟人化,称之为server。
而服务员是相对于顾客而言的,没有顾客服务员也就不再是服务员,而顾客也可能是其它的服务员,计算机中也是如此。server是相对于client而言的。
在上图中。我们首先看到的是CAS Client和CAS Server。这就是两个相对的概念。假设没有这个框架,我们系统登录自己系统的页面。那Web Browser就是client,而支持系统的后台部署到的那台机器就属于server了。当加上CAS的时候。我们就又上升了一层。由于CAS Server是为CAS client服务的。
在这里CAS Client包含CAS 自己的client(也就是一个java程序CAS Client jar包)和我们要使用CAS单点登录的项目,他们放在一起组成了CAS Client。而CAS Server 是对输入的username和password进行不同方式的验证。
第一次登录系统,使用CAS流程
用户打开浏览器。通过地址第一次请求受到保护的资源,CASclient会把请求自己主动的重定向到CASserver端。CASserver端发现没有证据,就直接把CAS server的登录界面转到浏览器,呈现给用户。此时。用户输入username和password之后。点击登录button,请求验证。CASclient相同重定向到CASserver。发现有会话标识。開始进行验证,验证失败,则浏览器中呈现失败的信息。
验证成功,会把username和password放到session中,并加入一个证据,跳转到系统的主界面。
第二次请求自己的系统。CAS流程
当用户请求自己的系统,会直接请求到CAS的登陆页面, 然后CAS server端进行推断, 发现有session 和证据, 就直接转到了系统主界面。
我们这样做的话,仅仅能使用CAS自己的默认的登录界面。且各种应用使用的是统一登录界面,这样非常不人性化。
那能够不能够让不同的应用有自己不同的登录界面,但都记性同一个CAS验证呢?下一篇,不同应用自己定义自己的CAS登陆页面。
(一)SSO之CAS框架通俗原理的更多相关文章
- (四)SSO之CAS框架单点登录,自定义验证登录方式
应需求的变化,在登录cas的时候,默认根据用户名和密码进行验证,如果加上用户名,密码和一个系统标识进行验证呢?该如何做呢? 我们知道cas默认的登录界面中,输入的用户名和密码,再配置一下deploye ...
- (三)SSO之CAS框架单点退出,退出到CAS登录界面
应需求的改变.CAS自定义登录页面不安全,不再使用,于是我一下子回到了原点,在linux上部署上了没有加自定义登陆界面的CAS,接下来开始修改CAS自己默认的登录界面为我们的界面. 一下子修改成功是根 ...
- (二)SSO之CAS框架单点退出,自定义退出界面.
用CAS的退出,只能使用它自己的那个退出界面,如果有这样的要求, 要求退出后自动跳转到登录界面, 该如何做呢?下面这篇文章实现了退出后可以自定义跳转界面. 用了CAS,发现退出真是个麻烦事,退出后跳 ...
- (六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接
题记: 偶尔的偶尔我们会听到这个站点的数据泄露了,那个站点的用户数据泄露了.让用户又一次改动登录password,所以,对于用户数据安全性越发的引起我们的重视了,尤其是一些保密性要求高的站点.更须要添 ...
- (二)SSO之CAS框架单点退出,自己定义退出界面.
用CAS的退出,仅仅能使用它自己的那个退出界面,假设有这种要求, 要求退出后自己主动跳转到登录界面, 该怎样做呢? 以下这篇文章实现了退出后能够自己定义跳转界面. 用了CAS,发现退出真是个麻烦事,退 ...
- SSO之CAS单点登录详细搭建教程
本教程是我个人编写,花费几个小时的时间,给需要学习的人员学习使用,希望能帮助到你们. [环境说明]:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 ...
- CAS单点登录原理解析
转自: https://www.cnblogs.com/lihuidu/p/6495247.html 1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名 ...
- CAS单点登录原理
转自 https://www.cnblogs.com/lihuidu/p/6495247.html 1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密 ...
- CAS单点登录原理解析(转载)
1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从 ...
随机推荐
- 虚方法virtual详解(转载)
从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的 ...
- 如何查看是否安装.NET Framework、.NET Framework的版本号以及CLR版本号
查看是否安装.NET Framework→%SystemRoot%\System32→如果有mscoree.dll文件,表明.NET Framework已安装 查看安装了哪些版本的.NET Framw ...
- Mac下,(OS系统)IDEA 逆向工程,生成 hibernate 映射文件以及对应的javaBean(类似于eclipse)
找了好久,逆向工程生成javabean的,在Macbook的OS系统下使用idea生成. 参考博客:http://m.blog.csdn.net/quan20111992/article/detail ...
- 【Redis】1、Jedis对管道、事务以及Watch的操作来应对高并发
对于一个互联网平台来说,高并发是经常会遇到的场景.最有代表性的比如秒杀和抢购.高并发会出现三个特点: 1.高并发读取 2.高并发写入(一致性) 3.出现超卖问题 前端如何应对? 1.缓存静态数据,例如 ...
- @ContextConfiguration的意思
@ContextConfiguration的意思 @ContextConfiguration这个注解通常与@RunWith(SpringJUnit4ClassRunner.class)联合使用用来测试 ...
- django项目一 登录注册
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] AUTH_USER_MODEL = 'cr ...
- 初识vuex vuex 的基本用法
Vuex 是什么? 官方是这么说的:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 一个完 ...
- python解释器介绍以及Pycharm的破解
python语言是弱类型解释型语言,弱类型指的是没有强制规定它的类型. 由于是解释型语言,则必有解释器与其匹配,根据不同的工作环境以及需求,python的解释器有很多种, 官方推荐的是CPython, ...
- vue 数据请求
作者QQ:1095737364 QQ群:123300273 欢迎加入! 要引入模块: vue-resource 1.在package.json中的dependencies中添加vue ...
- 纯小白入手 vue3.0 CLI - 2.5 - 了解组件的三维
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...