`
小天蝎
  • 浏览: 141984 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

耶鲁CAS Single Sign On

阅读更多
       耶鲁大学开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Service),是一个独立于平台的,易于理解的开源软件,支持代理功能。Spring Framework的Acegi安全系统支持CAS,并提供了易于使用的方案。

CAS的设计目标
       l、为多个Web应用提供单点登录基础设施,同时可以为非Web应用但拥有Web前端的功能服务提供单点登录的功能;
      2、简化应用认证用户身份的流程;
      3、将用户身份认证集中于单一的Web应用,让用户简化他们的密码管理,从而提高安全性;而且,当应用需要修改身份验证的业务逻辑时,不需要到处修改代码;

CAS的设计和实现
       CAS(Central Authentication Server)被设计成一个独立的Web应用。它目前的实现是运行在HTTPS服务器上的几个Java Servlet。通过三个URL来访问:Login URL,Validation URL和可选的Logout URL。下图是CAS的单点登录流程示意图:
 

点击查看原始大小 530 x 379


       为了使用CAS,Web应用重定向它的用户(或简单地创建一个超链接)到Login URL,例如https://secure.its.yale.edu/cas/servlet/login。用户也可以手工访问这个URL,如果希望预先验证会话。
       Login URL处理初步的认证工作,它提示用户输入NetID和密码,并用Kerberos服务器校验它们是否匹配。为了接下来能自动重新验证用户身份,CAS也 会试图给浏览器回送Cookie(浏览器关闭后会自动过期)。这个Cookie用于识别已经成功登录的用户身份。
       使用这个可选的Cookie,CAS可以为用户实现对于多个Web应用单点登录的效果。这就是说,用户只需输入一次他的NetID和密码,即可访问任何使 用CAS的资源服务。没有这个Cookie,当Web应用重定向用户到CAS时,用户每次都要输入NetID和密码。(用户也可以通过访问Logout URL,如https://secure.its.yale.edu/cas/servlet/logout,来要求CAS删除这个Cookie。)
       为了处理初步的身份认证,CAS也记录了用户被重定向时访问的service。可以这样做是因为CAS要求重定向或链接用户到Login URL的Web应用提供一个service的标志符(在上图中记为serviceID)。如果验证成功,CAS创建一个位数很长的随机数(我们称之为 ticket)。CAS把这个ticket和成功登录的用户以及用户要访问的service联系起来。例如,如果用户peon重定向自service S,CAS创建ticket T,这个ticket T允许peon访问service S。这个ticket是个一次性的凭证;它仅仅用于peon,仅仅用于service S,并且只能使用一次,使用之后马上会过期。
       一旦完成了初步的身份验证,CAS重定向用户浏览器回到原来的Web应用URL。CAS之所以能记得原来的URL,是因为上面讨论的service ID作为一个"callback URL"。CAS重定向用户的浏览器回到原来的URL,并加上上面讨论的ticket作为请求参数。
       为了让讨论更加清楚,考虑下面的例子。假设用户在访问http://www.yale.edu/tp之前需要验证身份,我们把用户从http://www.yale.edu/tp重定向到下面的Login URL:
       https://secure.its.yale.edu/cas/servlet/login?service=http://www.yale.edu/tp/authenticate.jsp
JSP页面authenticate.jsp是网站资源的一部分。一旦完成了上面描述的初步身份验证,CAS用下面的URL重定向用户浏览器到这个JSP页面:
       http://www.yale.edu/tp/authenticate.jsp?ticket=opaque-ticket-string
       一旦收到请求,authenticate.jsp页面需要校验这个收到的ticket,它把tickect传送Validation URL(如http://secure.its.yale.edu/cas/servlet/validate)。 authenticate.jsp页面需要使用JSSE向Validation URL发送请求并读取数据。当生成这个请求时,authenticate.jsp页面还需要把先前的service ID用service的参数名传送给Validation URL,例子如下:
       http://secure.its.yale.edu/cas/servlet/validate?ticket=T&service=S
       当CAS从Validation URL收到这个ticket,它检查自己内部数据库,看看是否保存过这个ticket。如果数据库有这个ticket,则进一步检查数据库中和 ticket关联的service是否和刚收到的service相匹配。如果匹配,则向请求验证身份的应用URL返回NetID;否则拒绝验证这个请求。
       Validation URL向请求身份验证的应用URL返回数据的方式很简单。CAS用text/plain的应答方式返回两行数据;第一行是yes或no,取决于 ticket验证是否通过。如果ticket通过验证,第二行则是成功通过身份验证的用户的NetID。如果ticket没有通过验证,第二行为空。例子 如下:
       yes
       peon
       如果ticket通过验证,CAS立即删除该ticket,使它以后不能再使用。
       当完成了身份验证的循环流程,Web应用无需知道用户的密码即可校验用户身份。此外,如果用户浏览器接受Cookie,它将保留一个可用于多次向CAS验 证用户身份的Cookie,让用户以后不用再输入NetID和密码。(目前,这个用于身份验证的Cookie保留8个小时。)

原文出自:耶鲁CAS Single Sign On
分享到:
评论

相关推荐

    耶鲁大学单点CAS服务器

    耶鲁大学开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Server)被设计成一个独立的Web应用程序(cas.war)。该资源不仅提供部署在Tomcat服务器上的cas.war包(解压缩后在webapps目录下),而且...

    耶鲁CasServer单点登录教程

    一、Yale CAS简介 2 二、CAS 原理和协议 2 三、准备工作 4 四、部署CAS Server 5 步骤1.配置CAS Server应用服务器的Https 协议 5 ●生成服务器证书 5 ●配置Tomcat的https 8 步骤2.部署CAS Server 8 ●扩展认证接口 ...

    cas -service -4.0.4 下载加所需的jar包

    Yale CAS - 耶鲁大学开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Server)被设计成一个独立的Web应用程序(cas.war)。

    Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc

    Yale CAS 是耶鲁大学开发的一种开源的单点登录(SSO)解决方案,提供了一个通用的身份验证框架,允许用户使用单个身份验证来访问多个应用程序。CAS 服务器充当着身份验证服务器的角色,负责验证用户的身份,生成 ...

    CAS单点登录的经典配置,以及多数据库的处理方案

    CAS单点登录是Single Sign-On(SSO)的一种实现,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。CAS单点登录产品具有很多优点,如减少用户在不同系统中登录耗费的...

    cas-overlay-template-4.2.rar

    CAS单点登陆文件rar,CAS是一个单点登录框架,开始是由耶鲁大学的一个组织开发,后来归到apereo...单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    cas 单点登录 耶鲁大学单点登录

    耶鲁大学单点登录,描述怎么开发一个简单的cas实例

    casclient-3.1.6源码

    cas-client-3.1.6是耶鲁CAS的客户端最新版本。

    Yale CAS 3.3实现SSO详细教程。

    Yale CAS 3.3实现SSO详细教程。

    CAS单点登陆配置手册

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

    CAS 各种jar包

    CAS 单点登录 sso casclient,耶鲁大学版的

    Yale CAS最佳实践.rar

    有关耶鲁大学CAS服务器的配置 1.环境准备 2.在jdk上配置SSL 3.SSL验证证书 4.Tomcat配置 5.Tomcat jmx bug

    耶鲁大学人脸表情数据库

    耶鲁大学人脸表情数据库耶鲁大学人脸表情数据库耶鲁大学人脸表情数据库耶鲁大学人脸表情数据库耶鲁大学人脸表情数据库

    CAS实战4.0

    耶鲁大学CAS开源单点登录实战。傻瓜式技术教程!

    耶鲁人脸表情数据库耶鲁人脸表情数据库

    耶鲁人脸数据库,包含各种表情的人脸图像,是做表情识别必不可少的数据库。

    cas-client-2.0.11.zip_cas client_cas-clie_cas-client-2._java CAS

    cas 客户端文件,采用此客户端可以实现cas单点登陆即sso,是有耶鲁大学开发

    YALE耶鲁智能锁 YSJ731说明书.pdf

    耶鲁设备说明书

    YALE耶鲁电子锁 YDM3109说明书.pdf

    耶鲁设备说明书

    CAS 4.0 单点登录教程

    CAS 是 Yale (耶鲁)大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目

    耶鲁布朗强迫症量表Y.doc

    耶鲁布朗强迫症量表 Y-BOCS 评定量表 耶鲁布朗强迫症量表 Y-BOCS 是一种评定强迫性障碍(OCD)患者症状严重程度和类型的评定量表。该量表的设计基于患者的描述,但最终评分仍基于晤谈者的临床评判。该量表的评定...

Global site tag (gtag.js) - Google Analytics