SSO之CAS框架通俗原理

来源:互联网 发布:网络安全工程师 前景 编辑:程序博客网 时间:2024/05/21 04:42

SSO统一验证

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

CAS简介

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

        原理图,如下图所示:


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

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

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

        用户打开浏览器,通过地址第一次请求受到保护的资源,CAS客户端会把请求自动的重定向到CAS服务器端,CAS服务器端发现没有证据,就直接把CAS server的登录界面转到浏览器,呈现给用户。此时,用户输入用户名和密码之后,点击登录按钮,请求验证,CAS客户端同样重定向到CAS服务器,发现有会话标识,开始进行验证,验证失败,则浏览器中呈现失败的信息。验证成功,会把用户名和密码放到session中,并添加一个证据,跳转到系统的主界面。


       第二次请求自己的系统,CAS流程

当用户请求自己的系统,会直接请求到CAS的登陆页面, 然后CAS server端进行判断, 发现有session 和证据, 就直接转到了系统主界面。


原创粉丝点击