CAS单点登录之抽丝剥茧——【SSO】

一、CAS是什么

  CAS=Central Authentication Service,中央认证服务,一种独立开始指令协议。CAS是 Yale大学发起的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法。

二、CAS包括什么

  CAS包括两个部分:CAS Client和CAS Server.

  CAS Client:负责处理对客户端受保护资源的访问请求

  CAS Server:需要独立部署,主要负责对用户的认证工作。

  CAS包含TGT、ST、PGT、PGTIOU、PT五种票据信息,在ITOO项目中,我们主要用的是TGT、ST票据、TGC
Cookie。

TGT: Ticket Grangting Ticket,主要封装cookie值和cookie值对应的用户信息。

ST:Service Ticket,是CAS主要为用户签发的访问某一service的票据。

TGC: Ticket-granting cookie,是存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用,并且只能基于安全通道传输(Https),是CAS Server用来明确用户身份的凭证。

三、CAS工作原理

背景:用户先访问权限系统,一旦登录权限系统,就可以访问基础系统,无需再次登录。

用户访问权限,并登录成功:

1.终端访问权限系统,输入权限系统网址

2,3.由于终端本地一开始没有ST信息,浏览器自动重定向到CAS Server端。

4.由于CAS Server端没有TGT信息,地址再次重定向到登陆首页,输入用户名和密码

5.写入Cookie形成TGC到终端浏览器,并传递ST给终端,同时生成TGT到CAS Server端

6.再次访问权限系统,并携带ST

7.去CAS Server端再次验证ST,验证成功

8.生成用户对象保存到页面

 

用户继续访问基础系统,无需再次登录:

1.输入基础系统网址,终端本地无ST信息

2,3.CAS Client主要通过filter保护受保护的资源,重定向到CAS Server

4.CAS根据本地TGT发放票据ST给浏览器

5.浏览器再次访问基础系统,携带ST

6.去CAS Service再次验证,验证成功,基础系统无需登录,就可以访问。

四、总结

  CAS跟我们之前的登录相比,除了用户名和密码的认证,还多了一个登录唯一性的标识--票据的验证。CAS让登录变的更加安全,用户在不同的系统中可能用不同的角色,有了单点登录,只需要一份用户名、密码,就可以多个系统间畅通无阻。CAS其实很简单,用户信息生成TGT,TGT发放ST,中间少了那个步骤,就从缺少步骤的上一步再来一遍就好了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 11:54:30

CAS单点登录之抽丝剥茧——【SSO】的相关文章

CAS单点登录(SSO)完整教程

转:http://blog.csdn.net/frinder/article/details/7969925 CAS单点登录(SSO)完整教程(2012-02-01更新) 一.教程说明 前言 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤 单点登录(SSO):请看百科解释猛击这里打开 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server), 官网:http://www.jasig.org/cas 本教程环境: Tomcat

SSO之CAS单点登录实例演示

一.概述 此文的目的就是为了帮助初步接触SSO和CAS 的人员提供一个入门指南,一步一步演示如何实现基于CAS的单点登录. CAS的官网:http://www.jasig.org/cas 二.演示环境 本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 64位,主机名称:michael-pc JDK 1.6.0_18 Tomcat 6.0.29 CAS-server-3.4.11.CAS-client-3.2.1 根据演示需求, 用修改hosts

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

本教程是我个人编写,花费几个小时的时间,给需要学习的人员学习使用,希望能帮助到你们. [环境说明]:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 64位 jdk1.7.0_51 apache-tomcat-7.0.57-windows-x64 cas-server-webapp-4.0.0.war.cas-client-core-3.2.1.jar.commons-logging.jar 确保本地jdk环境已经搭建好 [软件说明]:文档中涉

cas 单点登录(SSO)实验之二: cas-client

cas 单点登录(SSO)实验之二: cas-client 參考文章: http://my.oschina.net/indestiny/blog/200768#comments http://wenku.baidu.com/view/0bcc0d01e87101f69e319595.html 接上一篇文章: cas 单点登录(SSO)实验之中的一个: jasig cas-server 安装 本文说明怎样写一个web服务(cas-study).使用cas-server提供的验证服务.当用户訪问这个

cas 单点登录(SSO)之一: jasig cas-server 安装

cas 单点登录(SSO)实验之一: jasig cas-server 安装 参考文章: http://my.oschina.net/indestiny/blog/200768#comments http://wenku.baidu.com/view/0bcc0d01e87101f69e319595.html SSO原理不多重复,需要理解的就一点,一个复杂系统需要一个唯一的验证服务, 这就是CAS(Central Authentication Service) Server.系统内的各种服务(W

CAS单点登录之mysql数据库用户验证及常见问题

前面已经介绍了CAS服务器的搭建,详情见:搭建CAS单点登录服务器.然而前面只是简单地介绍了服务器的搭建,其验证方式是原始的配置文件的方式,这显然不能满足日常的需求.下面介绍下通过mysql数据库认证的方式. 一.CAS认证之mysql数据库认证 1.在mysql中新建一个cas数据库并创建user表 CREATE DATABASE /*!32312 IF NOT EXISTS*/`cas` /*!40100 DEFAULT CHARACTER SET gbk */; USE `cas`; /*

CAS单点登录配置

无https验证的CAS单点登录配置 一.下载开发环境 CAS服务器:cas-server-3.4.10-release.zip CAS客户端:cas-client-3.2.1-release.zip 二.部署CAS服务器 解压cas-server-3.4.10-release.zip将modules目录下的cas-server-webapp-3.4.10.war改名称为cas.war复制到tomcat的webapps下,启动tomcat,访问:http://localhost:8080/cas

CAS 单点登录

首先,何谓单点登录.单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. cas登录系统中有两个角色,一个是cas server 就是提供登录服务,登录页面,client 校验的一个web应用. 一个是cas client,使用过滤器,在客户应用呗访问的时候会先判断该系统是否登录,无登录则直接重定向到cas server服务上. 在CAS中MVC的控制主要是使用的

cas系列(一)--cas单点登录基本原理

(这段时间打算做单点登录,因此研究了一些cas资料并作为一个系列记录下来,一来可能会帮助一些人,二来对我自己所学知识也是一个巩固.) 一.为什么要实现单点登录 随着信息化不断发展,企业的信息化过程是一个循序渐进的过程,在企业各个业务网站逐步建设的过程中,根据各种业务信息水平的需要构建了相应的应用系统,由于这些应用系统一般是 在不同的时期开发完成的,各应用系统由于功能侧重.设计方法和开发技术都有所不同,也就形成了各自独立的用户库和用户认证体系.随着新的业务网站不断的增 加,用户在每个应用系统中都有