版权声明:本文为博主原创文章。转载请标明出处。

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框架通俗原理的更多相关文章

  1. (四)SSO之CAS框架单点登录,自定义验证登录方式

    应需求的变化,在登录cas的时候,默认根据用户名和密码进行验证,如果加上用户名,密码和一个系统标识进行验证呢?该如何做呢? 我们知道cas默认的登录界面中,输入的用户名和密码,再配置一下deploye ...

  2. (三)SSO之CAS框架单点退出,退出到CAS登录界面

    应需求的改变.CAS自定义登录页面不安全,不再使用,于是我一下子回到了原点,在linux上部署上了没有加自定义登陆界面的CAS,接下来开始修改CAS自己默认的登录界面为我们的界面. 一下子修改成功是根 ...

  3. (二)SSO之CAS框架单点退出,自定义退出界面.

    用CAS的退出,只能使用它自己的那个退出界面,如果有这样的要求, 要求退出后自动跳转到登录界面, 该如何做呢?下面这篇文章实现了退出后可以自定义跳转界面.  用了CAS,发现退出真是个麻烦事,退出后跳 ...

  4. (六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接

    题记: 偶尔的偶尔我们会听到这个站点的数据泄露了,那个站点的用户数据泄露了.让用户又一次改动登录password,所以,对于用户数据安全性越发的引起我们的重视了,尤其是一些保密性要求高的站点.更须要添 ...

  5. (二)SSO之CAS框架单点退出,自己定义退出界面.

    用CAS的退出,仅仅能使用它自己的那个退出界面,假设有这种要求, 要求退出后自己主动跳转到登录界面, 该怎样做呢? 以下这篇文章实现了退出后能够自己定义跳转界面. 用了CAS,发现退出真是个麻烦事,退 ...

  6. SSO之CAS单点登录详细搭建教程

    本教程是我个人编写,花费几个小时的时间,给需要学习的人员学习使用,希望能帮助到你们. [环境说明]:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 ...

  7. CAS单点登录原理解析

    转自: https://www.cnblogs.com/lihuidu/p/6495247.html 1.基于Cookie的单点登录的回顾        基于Cookie的单点登录核心原理: 将用户名 ...

  8. CAS单点登录原理

    转自 https://www.cnblogs.com/lihuidu/p/6495247.html 1.基于Cookie的单点登录的回顾        基于Cookie的单点登录核心原理: 将用户名密 ...

  9. CAS单点登录原理解析(转载)

    1.基于Cookie的单点登录的回顾        基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从 ...

随机推荐

  1. AngularJS学习笔记(二)MVVM

    什么是MVVM MVVM模式是Model-View-ViewMode模式的简称. 由视图(View).视图模型(ViewModel).模型(Model)三部分组成,通过这三部分实现UI逻辑.呈现逻辑和 ...

  2. Docker入门及基本指令

    Docker概念 Docker就相当于一个Github账号,不过最开始的工程不能自己建立,要从DockerHub这个中央仓库pull过来,这个工程Docker称之为image,这个image竟然是个l ...

  3. 初学HTML-3

    标题标签:<h#>...</h#>,从h1到h6,字号由大变小. 段落标签:<p>...</p>,在浏览器中独占一行. 空格:" " ...

  4. 排序算法(6)--exchang Sorting--交换排序[1]--Bubble Sort--冒泡排序

    1.基本思想 冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序 2.实现原理 冒泡排序是一种简单的排序算法,根据顺序两 ...

  5. 【代码笔记】iOS-FMDBDemo

    一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> #import "FMDatabase.h" ...

  6. Java基础笔记(3) 进制与进制转换

    ---恢复内容开始--- 进制 在一般生活中,我们一直在应用的十进制,就是逢十进一,而今天我们要接触的是,计算机编程常用的进制!首先我们要知道,计算机内部运算采用的是二进制,也就是逢二进制! 1.什么 ...

  7. PHP制作留言板

    做基础的留言板功能  需要三张表: 员工表,留言表,好友表 首先造一个登入页面: <form action="drcl.php" method="post" ...

  8. 学习MVC之租房网站(十二)-缓存和静态页面

    在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和 ...

  9. Android手机上,利用bat脚本模拟用户操作

    ………… 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行 ...

  10. fastclick select 闪退 bug

    这时候needsclick就派上用场了 <select class='needsclick'></select> 附上fastclick github上的链接