`

[转] 单点登录CAS介绍

 
阅读更多

摘自:http://bolijiang.iteye.com/blog/649386


单点登录SSO(Single Sign-On)是身份管理中的一部分。当一个大系统中存在多个子系统时,用户只需要正确登陆其中任何一个子系统,就可以在各个子系统中来回自由切换和使 用。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架。

CAS介绍
CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:
1、开源的企业级单点登录解决方案。
2、CAS Server 为需要独立部署的 Web 应用。
3、CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

CAS原理和协议
CAS从结构上来说包括俩部分,分别是CAS Server和CAS Client。
CAS Server需要独立部署,主要负责认证工作,CAS Client负责处理对客户端访问受限资源的访问请求,当针对该资源的访问需要登录时重定向到CAS Server。
其基本的协议过程如下图:



图例说明:
CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。
Step1: 用户第一次访问Biz系统主页http://bizserver/index.jsp ;部署在Biz系统上的CAS Client会验证该用户是否已经登录(验证方法:首先判断session中是否含有receipt,如果已经有了即表示已经验证成功可以访问,否则会分析该请求中是否包含ticket,如果没有表示还未登录,有表示已经登录),将用户重定向到CAS登录界面 https://casserver/cas/servlet/login?service=http://bizserver/index.jsp ,同时在重定向的URL上用service参数将用户的目标地址传给CAS服务器。

Step2:用户在CAS的登录页上输入用户名密码登录,CAS服务器认证通过后,生成一个ticket,并带在目标地址的尾部返回客户端的浏览 器redirect:http://bizserver/index.jsp?ticket=service ticket.

Step3:客户端浏览器获得CAS服务器的认证应答,取得凭证ticket后,使用重定向的链接http://bizserver /index.jsp?ticket=casticket访问Biz服务

Step4: 重复step1的步骤,部署在BizServer上的CAS Client获取到了ticketticket凭证,表示已经登录成功。Filter将使用该凭证通过URL https://casserver/cas/servlet/validate?service= http://bizserver/index.jsp &ticket=casticket 向CAS认证中心确认对应的服务请求和凭证是否有效。根据CAS服务器返回的结果,如果凭证有效,则CAS Client允许用户进入 http://bizserver/index.jsp 所指向的页面;否则,再次重定向到https://casserver/cas/servlet/login?service=http: //bizserver/index.jsp 上要求用户进行认证。

下面将详细的介绍CAS Server 和 CAS Client。

参考文章:
1.http://linliangyi2007.iteye.com/blog/165310
2.http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html
分享到:
评论

相关推荐

    单点登录cas源码

    单点登录cas源码

    单点登录CAS方案

    单点登录CAS方案,同时提供CAS+HTTP+Oracle和CAS+HTTPS+Oracle两种方案,亲自测试OK,客户端修改方案自行百度,太简单

    CAS单点登录(java)

    CAS单点登录CAS单点登录CAS单点登录CAS单点登录

    cas 单点登录 解决方案.

    cas 单点登录 解决方案.

    单点登录服务端项目cas-server

    单点登录服务端项目cas-server单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-...

    CAS单点登录操作文档

    CAS单点登录操作文档 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: • 开源的企业级单点登录解决...

    cas客户端集成单点登录代码

    cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码

    单点登录cas.doc

    本文档详细介绍了单点登录的背景以及实现原理,并以截图的方式以及代码详细列出了单点登录的操作步骤,如何实现单点登陆。

    基于Java集成CAS单点登录【接部署即可启用】

    基于Java中CAS的单点登录,有服务端的所有源码,将tomcat目录下的所有资源直接拷到Tomcat服务中间件的webapp目录下,阅读tomcat-webapp中的read.txt文档,查看使用说明,适用于第一次开发CAS单点登录的同学们,简单...

    禅道开源版集成CAS单点登录

    本文在已有的禅道集成CAS单点登录的客户端插件基础上进行的修改,因原有插件在我们的系统上调试无法成功,做了一些定制,环境如下: 1. CAS server 版本:4.0.0 2. 禅道开源版本: 9.6.3 3. 禅道CAS client 插件版本...

    单点登录CAS.net客户端源码

    单点登录CAS.net客户端源码,已调试成功,需要在webconfig中将服务端地址以及跳转地址修改好即可

    cas .net单点登录

    cas 。net单点登录demo cas 。net单点登录demo cas 。net单点登录demo

    集成cas实现单点登录认证.zip

    集成cas实现单点登录认证.zip

    单点登录sso-shiro-cas-maven

    spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...

    用cas实现mantis单点登录和登出

    用cas实现mantis单点登录和登出,详细讲了mantis的程序修改用cas实现SSO,已经在实际中应用,非常有帮助

    java-cas单点登录服务端

    CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,研究如何采用 CAS 实现轻量级单点登录解决方案。 CAS 是 Yale 大学发起的...

    cas单点登录技术

    1 单点登录总体解决方案 2 CAS原理和协议 3 CAS安全性 4 CAS工作模式 5 系统设计方案 6 CAS关键技术 6.1 域名规范 6.2 中文用户登录提交时乱码 ...7 单点登录风险 ...9.3 TOMCAT中使用CAS实现单点登录LDAP方式

    CAS单点登录服务器端源码

    CAS单点登录服务器端源码,实现应用系统集成CAS单点登录。

    cas单点登录demo

    cas单点登录的例子程序,运行见说明

    java cas单点登录

    java cas单点登录,里面附带源码和文档,比较详细,如有不懂请加群87115896

Global site tag (gtag.js) - Google Analytics