首页 > 代码库 > (一)SSO之CAS框架通俗原理

(一)SSO之CAS框架通俗原理

SSO统一验证

SSO(Single Sign On ),SSO统一验证的目的是为了让多个系统使用统一登录入口,用户只需要登录其中一个系统,在cookie时间内便可以不用登录,就直接进入系统了。

CAS简介

CAS是SSO的一个框架,全称为:Central Authentication Service,是一款不错的针对web应用的单点登录框架,包括java,。net,PHP,Prel,Apache,uPortal,Ruby等。

直接上原理图,如下图所示:


这幅图画的是很不错的,思前想后,还是直接搬过来了,我们以第一次登录和不是第一次登录为分界线讲述。

首先需要明白几个道理,什么是服务器,什么是客户端?

服务器,从第一次听到这个字眼到现在一直让我们感到十分神秘的感觉,一种高高在上的感觉,在天上的感觉。而实际上服务器和我们的这种感觉恰好相反,服务器,就是为别人提供服务的,百度百科是这样说的,server是指一个管理资源并为用户提供服务的计算机。说白了服务器就是一台计算机,只不过这台计算机可以给别的应用或者计算机提供服务,就像餐厅中服务员为顾客服务一样,而一台这样的计算机,人们把他拟人化,称之为服务器。

而服务员是相对于顾客而言的,没有顾客服务员也就不再是服务员,而顾客也可能是其他的服务员,计算机中也是如此,服务器是相对于客户端而言的。

在上图中,我们首先看到的是CAS Client和CAS Server,这就是两个相对的概念。如果没有这个框架,我们系统登录自己系统的页面,那Web Browser就是客户端,而支持系统的后台部署到的那台机器就属于服务器了。当加上CAS的时候,我们就又上升了一层,因为CAS Server是为CAS client服务的。

在这里CAS Client包括CAS 自己的客户端(也就是一个java程序)和我们要使用CAS单点登录的项目,他们放在一起组成了CAS Client,而CAS Server 是对输入的用户名和密码进行不同方式的验证。

第一次登录系统,使用CAS流程

用户