耶鲁大学开发的单点登录(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的单点登录流程示意图:
为了使用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作为请求参数。
分享到:
相关推荐
CAS(Central Authentication Service,中央认证服务)是一种广泛使用的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并开源。SSO允许用户在一个应用系统中登录后,无需再次验证身份即可访问其他相互信任的...
Yale Central Authentication Service (CAS) 是一个开源的身份验证框架,由耶鲁大学开发,主要用于实现单点登录(Single Sign-On, SSO)。SSO允许用户在一个系统上登录后,无需再次认证即可访问其他多个相互信任的...
耶鲁大学开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Server)被设计成一个独立的Web应用程序(cas.war)。该资源不仅提供部署在Tomcat服务器上的cas.war包(解压缩后在webapps目录下),而且...
### SSO (Single Sign-On) 原理与 CAS 实现 #### SSO 概念与重要性 单点登录(Single Sign-On, SSO)是一种让用户只需一次登录即可访问多个应用系统的认证机制。这种机制简化了用户体验,提高了工作效率,并在一定...
- **持久性和可靠性**:CAS由耶鲁大学开发并维护,在全球范围内有着广泛的用户基础,特别是在高等教育领域。 - **轻量级的J2EE平台**:CAS的代码量相对较小(大约1000行),这使得其运行效率较高且易于部署。 - **...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并维护。它允许用户通过单一的登录验证来访问多个应用系统,从而简化了用户的登录过程,...
Yale CAS - 耶鲁大学开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Server)被设计成一个独立的Web应用程序(cas.war)。
CAS(Central Authentication Service)是耶鲁大学开发的一种开放源代码的单点登录(Single Sign-On,简称SSO)协议,用于网络应用中的身份验证。它允许用户在一个认证点登录后,无需再次输入凭证就能访问其他受保护...
CAS单点登录是Single Sign-On(SSO)的一种实现,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。CAS单点登录产品具有很多优点,如减少用户在不同系统中登录耗费的...
CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多应用环境中统一用户认证。这个协议由耶鲁大学开发并开源,现在由Apereo基金会维护。标题提到的"cas-server-...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并维护。该系统旨在简化Web应用的安全认证过程,允许用户通过一个统一的入口点登录,之后...
CAS(Central Authentication Service)是耶鲁大学开发的一种基于Web的单点登录(Single Sign-On,简称SSO)协议。在企业或机构的信息系统环境中,它允许用户通过一次登录即可访问多个应用系统,无需多次输入用户名...
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在这个场景中,"cas-server"是中央认证服务(Central Authentication Service),...
CAS(Central Authentication Service)是耶鲁大学开发的一个开源的身份验证系统,主要用于实现单一登录(Single Sign-On,SSO)。它允许用户通过一次登录,就能访问多个相互信任的应用系统,而无需多次输入用户名和...
耶鲁CAS客户端,即cas-client,是一个实现了CAS协议的Java库,允许开发者将SSO功能集成到自己的应用中。在这个"casclient-3.1.6源码"中,我们可以深入理解如何在实际应用中使用CAS服务。 一、CAS协议原理 CAS的核心...
"Yale CAS SSO DotNet Client" 是一个专为.NET框架设计的客户端库,用于集成耶鲁大学(Yale)的中央认证服务(Central Authentication Service, CAS)。CAS是一种开源的身份验证协议,它允许用户通过单一登录...
CAS遵循单点登录(Single Sign-On, SSO)协议,允许用户通过一个认证点访问多个服务,而无需多次输入凭证。这种服务可以提高安全性,简化用户登录流程。 描述中提到的链接指向了一篇关于CAS的博客文章,虽然具体...
CAS(Central Authentication Service)协议是一种广泛使用的单点登录(Single Sign-On, SSO)协议,主要应用于网络身份验证。在给定的“cas-overlay-template-master.zip”文件中,包含了一个CAS服务器的服务端部署...