SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解cas协议终极分析.doc

1)PPT流程图:

一、用户第一次访问web1应用。

二、用户第一次访问web2应用。

困扰了好久的流程,其实静下进来搜个一二十篇百度上的讲解,集众家之所长,加上自己的理解,不难发现,流程理解下来很是简单。

下面讲一下原理:

2)简易流程图:

一、用户第一次访问web1应用

二、用户第一次访问web2应用

3)文字流程:

一、用户第一次访问web1应用

1、Web1的客户端检测到session中无令牌凭证信息,将用户重定向到Cas-server端进行验证。

2、s端检测到传来的请求没有带ST参数,所以跳到Login页面进行用户登录验证。

3、s端认证结束后,生成TGT令牌和随机Ticket-ST,并且在用户的浏览器中写入Cookie-STC,随后让用户的浏览器重定向到Web1应用中,并将随机参数ST带上一起传参过去,之后Web1的cas客户端将检测到此ST参数,发送到server端进行校验,校验成功之后,服务端主动销毁此ST,并继续返回到web1应用中,web1应用此时将令牌信息写入到自己的session中,从而完成用户的单点登录认证,服务端同样的也会用一个Map 记录web1加入到单点登录范围内。

4、带上ST参数重定向到web1应用。

5、web1拿到ST参数发送到s端进行校验。

6、校验成功,进入W1应用,w1将令牌凭证TGT写入session,与此同时,完成用户第一次访问应用web1的情形。

二、用户第一次访问web2应用

1、此时,用户第一次访问Web2应用,web2在自己的session中无法找到令牌信息,所以将用户重定向到S端,S端拿到用户的浏览器传来的cookie,从里面读出TGT,生成一

个随机的ST,发回w2,w2拿到ST,就立即和S端进行校验,S端校验成功后,立即销毁此ST,并将web2加入到单点登录范围内,用户此时可以在Web2中进行业务操作,web2也同样的会在session中记录此令牌凭证,至此,完成用户的单点登录功能。当用户下次访问web1或者web2的时候,由于各自的session中能够拿到TGT信息,所以,只需要从中读到每次请求时所带的ST参数即可和S端进行交互,验证正确之后达到一站登录,N站访问的SSO效果。

2、w2让用户浏览器带cookie重定向到S端。

3、s端认证结束后,生成TGT令牌和随机Ticket-ST,并且在用户的浏览器中写入Cookie-STC,随后让用户的浏览器重定向到Web1应用中,并将随机参数ST带上一起传参过去,之后Web1的cas客户端将检测到此ST参数,发送到server端进行校验,校验成功之后,服务端主动销毁此ST,并继续返回到web1应用中,web1应用此时将令牌信息写入到自己的session中,从而完成用户的单点登录认证,服务端同样的也会用一个Map 记录web1加入到单点登录范围内。

4、w2根据参数ST发回到s端进行校验

5、校验成功,可以访问W2,W2令牌写入session。

4)程序流程

来两段程序玩玩,打开你的火狐谷歌调试器,IE的就算了。

用Tomcat 7 搭载 cas-server 端。

用Tomcat 6 搭载你的web1和web2和web3...

之后我们开始今天的玩法

1.不登陆直接访问client2

2.不登陆直接访问client3

3.登录client2成功后,访问client3(同域 )

4.登录client3成功后,访问client2(同域 )

5.登录client2或者client3成功后,访问client4(不同域)

6.用client2去访问client3 (同域情况下用ajax拿后台的数据过来)(同域 )

7.用client2去访问client4(不同域情况下用ajax+jsonp跨域拿后台数据)(不同域 )

8.你是不是又想到了更疯狂的,来留言实验一把。

实验截图和结果以及调试分析:

测试一:

(1)不登陆直接访问client2

(2)不登陆直接访问client3

client2的web.xml

CAS Filter

edu.yale.its.tp.cas.client.filter.CASFilter

edu.yale.its.tp.cas.client.filter.loginUrl

http://192.168.168.141:8080/casServer/login

edu.yale.its.tp.cas.client.filter.validateUrl

http://192.168.168.141:8080/casServer/serviceValidate

edu.yale.its.tp.cas.client.filter.serverName

192.168.168.141:8080

从中可以看到client2的域网址是192.168.168.141:8080,地址是

http://192.168.168.141:8080/client2/

client3的web.xml

CAS Filter

edu.yale.its.tp.cas.client.filter.CASFilter

edu.yale.its.tp.cas.client.filter.loginUrl

http://192.168.168.141:8080/casServer/login

edu.yale.its.tp.cas.client.filter.validateUrl

http://192.168.168.141:8080/casServer/serviceValidate

edu.yale.its.tp.cas.client.filter.serverName

192.168.168.141:8080

从中可以看到client3的域网址是192.168.168.141:8080,地址是

http://192.168.168.141:8080/client3/

1.现在打开你的浏览器,抡起袖子疯狂点击我们可怜的web应用--client2,果然,直接跳到了cas的登录界面。下面的cookie里面毛都米有。

测试二:

(3).登录client2成功后,访问client3(同域 )

(4).登录client3成功后,访问client2(同域 )

1.好吧,我们输入用户名和密码,点击登录

2.来分析一下cookie。说时迟,那时快,它已经从cas的server端用户验证成功后回来了。。不仅用户验证完成,而且还不忘记拿到ST参数后,又一次发回去然后也顺利回来了。此时已经完成了用户的单点登录。

3.顺利登录成功之后,我们清除一下火狐的网络信息,来直接点击超链接访问client3,

之前的ST,我们记录一下:https://www.360docs.net/doc/3816157824.html,

此时得到了一个ST : https://www.360docs.net/doc/3816157824.html,

啧啧,ST果然是不一致的

言归正传,分析一下。

因为我们是在client2里面点击的超链接的形式访问的client3,所以ST参数肯定带过去了,Server端一查,哎呦,你小子有ST,我来检测一下,我靠,居然是正确的ST,好吧,允许你通过,此时,用户神不知鬼不觉,感觉犹如神助一般,进入了client3

4.那么我们来测试一下,直接在成功登录了client2之后,浏览器里输入clint3的网址。

从网络分析抓包里我们可以看到,也是这两个请求,和点击了超链接到client3一样的两个请求。。

说明server端已经拿到了用户的浏览器中的cookie,并且生成了ST给client3,client3也已经和server端交互结束,包括验证ST,而这一切,肉眼果然看不出来。

测试三:

(5)登录client2或者client3成功后,访问client4(不同域)

汽车各部件工作原理(图解)

汽车各部位工作原理(图示) 差速器具有三种功能: 使发动机动力指向车轮 相当于车辆上的最终传动减速器,在变速器撞击车轮之前最后一次降低其旋转速度 在以不同的速度旋转期间向车轮传输动力(这是将它称为差速器的原因) 本文将介绍汽车需要差速器的原因,以及差速器的作用和缺点。我们还将介绍几种防滑差速器,也称为限滑差速器。为什么需要差速器?车轮旋转的速度是不同的,尤其是转弯时。在以下动画中可以看到转弯时每个车轮行驶不同的距离,并且内侧车轮比外侧车轮行驶的距离短。由于速度等于行驶的路程除以通过这段路程所花费的时间,因此行进路程较短的车轮行驶的速度就较低。同时请注意,前轮与后轮的行驶距离也不同。对于汽车上的非驱动轮(后轮驱动汽车的前轮或前轮驱动汽车的后轮),这并不是问题。因为在前轮和后轮之间没有连接,所以它们独立旋转。但是驱动轮被连接到一起,以便单个发动机和变速器可以同时使两个车轮转动。如果汽车没有差速器,车轮必须锁止在一起,以便以相同的速度旋转。这样汽车将不便于转弯——为了使汽车能够转弯,一个轮胎必须滑动。对于现代轮胎和混凝土路面,轮胎需要很大的动力才会滑动。此动力必须由轴从一个车轮传输到另一个车轮,这会在轴组

件上形成很大的压力。什么是差速器?差速器是将发动机扭矩按两个方向分开的设备,可允许每次输出的扭矩以不同的速度旋转。 现在在所有汽车或卡车上都配备差速器,一些全轮驱动车辆上(全时四轮驱动)也配备差速器。这些全轮驱动车辆的每组驱动轮之间都需要一个差速器,并且在前轮和后轮之间也需要一个,因为在转弯时前轮行驶的距离与后轮不同。

分时四轮驱动系统在前轮和后轮之间没有差速器,相反,他们被锁止在一起,以便前轮和后轮以相同的平均速度转弯。这就是当四轮驱动系统啮合时这些车辆在混凝土路面上很难转弯的原因。以不同的速度旋转我们将介绍最简单的差速器——开式差速器。首先,我们需要了解一些术语:下面的图像标示的是开式差速器的组件。

发动机原理及组装全过程(动画演示)-推荐

发动机原理及组装全过程(动画演示) 福特发动机动画演示.zip 这段视频前部分是一台直列4缸,双顶置凸轮轴,16气门发动机的运行过程,大家可以清楚的看到这台发动机的工作循环,其中包括进气行程、压缩行程、作功行程和排气行程。后部分是从缸体到附件的完整装配过程。视频中的发动机也是比较常见的发动机形式,所以基本上可以说市面上的直四发动机八九不离十的和这款的结构差不多。对于了解自己爱车的发动机还是很有好处的。 发动机结构原理 发动机是一种由许多机构和系统组成的复杂机器。无论是汽油机,还是柴油机;无论是四行程发动机,还是二行程发动机;无论是单缸发动机,还是多缸发动机。要完成能量转换,实现工作循环,保证长时间连续正常工作,都必须具备以下一些机构和系统。 (1) 曲柄连杆机构 曲柄连杆机构是发动机实现工作循环,完成能量转换的主要运动零件。它由机体组、活塞连杆组和曲轴飞轮组等组成。在作功行程中,活塞承受燃气压力在气缸内作直线运动,通过连杆转换成曲轴的旋转运动,并从曲轴对外输出动力。而在进气、压缩和排气行程中,飞轮释放能量又把曲轴的旋转运动转化成活塞的直线运动。 (2) 配气机构 配气机构的功用是根据发动机的工作顺序和工作过程,定时开启和关闭进气门和排气门,使可燃

混合气或空气进入气缸,并使废气从气缸内排出,实现换气过程。配气机构大多采用顶置气门式配气机构,一般由气门组、气门传动组和气门驱动组组成。 (3) 燃料供给系统 汽油机燃料供给系的功用是根据发动机的要求,配制出一定数量和浓度的混合气,供入气缸,并将燃烧后的废气从气缸内排出到大气中去;柴油机燃料供给系的功用是把柴油和空气分别供入气缸,在燃烧室内形成混合气并燃烧,最后将燃烧后的废气排出。 (4) 润滑系统 润滑系的功用是向作相对运动的零件表面输送定量的清洁润滑油,以实现液体摩擦,减小摩擦阻力,减轻机件的磨损。并对零件表面进行清洗和冷却。润滑系通常由润滑油道、机油泵、机油滤清器和一些阀门等组成。

汽车各部位工作原理〖动画演示〗

汽车各部位工作原理 〖动画演示〗 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

汽车各部位工作原理〖动画演示〗 汽车各部位工作原理:动画示范 一、差速器 差速器具有使发动机动力指向车轮,相当于车辆上的最终传动减速器,在变速器撞击车轮之前最后一次降低其旋转速度,在以不同的速度旋转期间向车轮传输动力(这是将它称为差速器的原因)。 本文将介绍汽车需要差速器的原因,以及差速器的作用和缺点。我们还将介绍几种防滑差速器,也称为限滑差速器。为什么需要差速器车轮旋转的速度是不同的,尤其是转弯时。在以下动画中可以看到转弯时每个车轮行驶不同的距离,并且内侧车轮比外侧车轮行驶的距离短。由于速度等于行驶的路程除以通过这段路程所花费的时间,因此行进路程较短的车轮行驶的速度就较低。同时请注意,前轮与后轮的行驶距离也不同。对于汽车上的非驱动轮(后轮驱动汽车的前轮或前轮驱动汽车的后轮),这并不是问题。因为在前轮和后轮之间没有连接,所以它们独立旋转。但是驱动轮被连接到一起,以便单个发动机和变速器可以同时使两个车轮转动。如果汽车没有差速器,车轮必须锁止在一起,以便以相同的速度旋转。这样汽车将不便于转弯——为了使汽车能够转弯,一个必须滑动。对于现代轮胎和混凝土路面,轮胎需要很大的动力才会滑动。此动力必须由轴从一个车轮传输到另一个车轮,这会在轴组件上形成很大的压力。什么是差速器差速器是将发动机按两个方向分开的设备,可允许每次输出的扭矩以不同的速度旋转。 现在在所有汽车或卡车上都配备差速器,一些全轮驱动车辆上(全时四轮驱动)也配备差速器。这些全轮驱动车辆的每组驱动轮之间都需要一个差速器,并且在前轮和后轮之间也需要一个,因为在转弯时前轮行驶的距离与后轮不同。 分时四轮驱动系统在前轮和后轮之间没有差速器,相反,他们被锁止在一起,以便前轮和后轮以相同的平均速度转弯。这就是当四轮驱动系统啮合时这些车辆在混凝土路面上很难转弯的原因。以不同的速度旋转我们将介绍最简单的差速器——开式差速器。首先,我们需要了解一些术语:下面的图像标示的是开式差速器的组件。 当车辆笔直向前行驶时,两个驱动轮以相同的速度旋转。输入小齿轮转动齿圈和保护架,同时保护架内的小齿轮均不旋转,这样两侧齿轮均被有效锁定到保护架。 Geebee's Vector Animations提供动画注意,输入小齿轮是小于齿圈的齿轮,它是汽车上的末级减速齿轮。您可能听说过一些术语,如后轴比或主减速器传动比。这些是差速器中的齿轮比。如果主减速器传动比是,则齿圈的齿数是输入小齿轮齿数的倍。汽车转弯时,车轮必须以不同的速度旋转。在上图中,可以看到汽车开始转弯时保护架上的

直列四缸、V型排列六缸、水平对置的工作原理动画图

直列四缸、V型六缸、水平对置发动机工作原理动画 发动机是汽车的动力装置,性能优劣直接影响到汽车性能,发动机的类型很多,结构各异,以适应不同车型的需要。按发动机使用燃料划分,可分成汽油发动机和柴油发动机等类别。按发动机汽缸排列方式划分,可分成直列、V型、水平对置发动机等。发动机排量等于各汽缸工作容积之和,增加缸数可以增加发动机排量,提高发动机输出功率,还可使发动机运转 平稳,减少振动与噪声。 一、直列四缸发动机工作原理动画 6缸以下的发动机汽缸多为单排直列方式,少数6缸发动机也有直列方式的。直列式发动机结构简单,价格便宜,缺点是发动机高度较高,长度较长。 二、V型六缸发动机工作原理动画 V型发动机将所有汽缸分成两组,两组相邻汽缸成一定的夹角布置在一起,可以抵消一部分振动,从侧面看汽缸呈V字形,故称V型发动机。V型发动机运转比较平稳,振动与噪声较小,高度较低,长度较短,能为驾乘舱留出更大的空间,缺点是必须使用两个汽缸盖,结构相对复杂,价格也较贵。中高级轿车上普遍采用V6发动机。V型发动机的汽缸数一般为 6、8、10、12、16。据说,有的汽车公司还有V5、V 7、V11等非对称式V型发动机。 三、水平对置发动机工作原理动画 水平对置发动机一般安装在整车的中心线上,活塞平均分布在曲轴两侧,在水平方向上左右运动,两侧活塞产生的力矩相互抵消,大大降低车辆运行中的振动,减少噪音,发动机转速得到很大提升,油耗较低,并使发动机的整体高度降低、长度缩短、整车的重心降低,车辆行驶更加平稳,适合运动型轿车或跑车。缺点是润滑系统不太理想,技术要求很高,冷却系统也要求很严格,制造成本比V型发动机更高。 2009-5-20 10:18 点击查看原图 (148.53 KB) 2009-5-20 10:18

L/H/V/W型汽车发动机原理图(动画)

L/H/V/W型汽车发动机原理图(动画) 汽车发动机类型和原理图 发动机工作原理图L直列四缸、V型六缸、H水平对置、W12、16缸 发动机是汽车的动力装置,性能优劣直接影响到汽车性能,发动机的类型很多,结构各异,以适应不同车型的需要。按发动机使用燃料划分,可分成汽油发动机和柴油发动机等类别。按发动机汽缸排列方式划分,可分成L直列、V型、H水平对置发动机,W12/16型发动机等。发动机排量等于各汽缸工作容积之和,增加缸数可以增加发动机排量,提高发动机输出功率,还可使发动机运转平稳,减少振动与噪声。 发动机汽缸排列型式分为L型、V型、H型和W型。 L型发动机: 又称“直列”(LineEngine)发动机,是指汽缸是按直线排列的,它所有的汽缸均按同一角度肩并肩排成一个平面。 “直列”一般用L代表,后面加上汽缸数就是发动机代号,现代汽车上主要有L3、L4、L5、L6型发动机。 优点:稳定,成本低,结构简单,运转平衡性好,体积小稳定性高,低速扭矩特性好,燃料消耗少,尺寸紧凑,应用比较广泛。 缺点:当排气量和汽缸数增加时,发动机的长度将大大增加。 直列4缸发动机,一般广泛运用于2.2升排量以下的发动机中。 直列6缸发动机,目前的佼佼者就是著名的BMW,BMW直列6缸发动机凝聚了当今量产发动机的顶尖技术,堪称直列6缸的巅峰之作。 V型发动机: 是将所有汽缸分成两组,把相邻汽缸以一定的夹角布置在一起,使两组汽缸形成两个有一个夹角的平面,从侧面看汽缸呈V字形,故称V型发动机。 V型发动机的高度和长度尺寸小,在汽车上布置起来较为方便。尤其是现代汽车比较重视空气动力学,要求汽车的迎风面越小越好,也就是要求发动机盖越低越好。 常见的V型发动机有V6、V8、V10、V12。还有V3、V5以及V16(不要跟有些直列发动机代表气门数搞浑了)。 顾名思义,V代表发动机气缸成V型排列,一般是90度,这样可以抵消运转时的震动,更加稳定。也有75度和72度的。雷诺赛车甚至用了超过90度的广角V10引擎。 优点:运转稳定(针对V6、V8、V12)、节省空间。 缺点:结构比较复杂,不利于保养和维修,并且造价较高。同时,V3、V5包括V10都由于其结构或排量的原因,并不非常稳定,尤其是作为F1发动机的V10 3L引擎,更是需要投入大量的精力和经费用于保证其稳定性。 代表车型:奥迪的A6、法拉利360、保时捷carrear GT、奔驰S600。分别使用V6,V8,V10,V12发动机。而V3主要是出现在一些摩托车上,V5据说在上一代大众高尔夫上有使用。而V16则在一些豪华的老爷车上可以找到。

汽车各部位工作原理〖动画演示〗

汽车各部位工作原理〖动画演示〗 汽车各部位工作原理:动画示范 一、差速器 差速器具有使发动机动力指向车轮,相当于车辆上的最终传动减速器,在变速器撞击车轮之前最后一次降低其旋转速度,在以不同的速度旋转期间向车轮传输动力(这是将它称为差速器的原因)。 本文将介绍汽车需要差速器的原因,以及差速器的作用和缺点。我们还将介绍几种防滑差速器,也称为限滑差速器。为什么需要差速器?车轮旋转的速度是不同的,尤其是转弯时。在以下动画中可以看到转弯时每个车轮行驶不同的距离,并且内侧车轮比外侧车轮行驶的距离短。由于速度等于行驶的路程除以通过这段路程所花费的时间,

因此行进路程较短的车轮行驶的速度就较低。同时请注意,前轮与后轮的行驶距离也不同。对于汽车上的非驱动轮(后轮驱动汽车的前轮或前轮驱动汽车的后轮),这并不是问题。因为在前轮和后轮之间没有连接,所以它们独立旋转。但是驱动轮被连接到一起,以便单个发动机和变速器可以同时使两个车轮转动。如果汽车没有差速器,车轮必须锁止在一起,以便以相同的速度旋转。这样汽车将不便于转弯——为了使汽车能够转弯,一个轮胎必须滑动。对于现代轮胎和混凝土路面,轮胎需要很大的动力才会滑动。此动力必须由轴从一个车轮传输到另一个车轮,这会在轴组件上形成很大的压力。什么是差速器?差速器是将发动机扭矩按两个方向分开的设备,可允许每次输出的扭矩以不同的速度旋转。

现在在所有汽车或卡车上都配备差速器,一些全轮驱动车辆上(全时四轮驱动)也配备差速器。这些全轮驱动车辆的每组驱动轮之间都需要一个差速器,并且在前轮和后轮之间也需要一个,因为在转弯时前轮行驶的距离与后轮不同。

相关文档
最新文档