集中式认证服务
集中式认证服务(英语:Central Authentication Service,缩写CAS)是一种针对万维网的单点登录协议。它的目的是允许一个用户访问多个应用程式,而只需向认证伺服器提供一次凭证(如用户名和密码)。这样用户不仅不需在登陆web应用程式时重复认证,而且这些应用程式也无法获得密码等敏感资讯。“CAS”也指实现了该协议的软件包。
描述
CAS 协议基于在客户端Web浏览器、Web应用和CAS伺服器之间的票据验证。当客户端访问访问应用程式,请求身份验证时,应用程式重定向到CAS。CAS验证客户端是否被授权,通常通过在数据库对用户名和密码进行检查。如果身份验证成功,CAS一次性在客户端以Cookie形式发放TGT票据,在其有效期CAS将一直信任用户,同时将客户端自动返回到应用程式,并向应用传递身份验证票(Service ticket)。然后,应用程式通过安全连接连接CAS,并提供自己的服务标识和验证票。之后CAS给出了关于特定用户是否已成功通过身份验证的应用程式授信资讯。
CAS 允许通过代理伺服器进行多层身份验证,还可以实现不同CAS伺服器的授权。后端服务(如数据库或邮件伺服器)可以使用CAS,通过从Web应用程式接收到的资讯验证用户是否被授权。因此,网页邮件客户端和邮件伺服器都可以实现CAS,如SOGo。
历史
CAS是由耶鲁大学[1]的Shawn Bayern创始的,后来由耶鲁大学的Drew Mazurek维护。CAS1.0实现了单点登录。 CAS2.0引入了多级代理认证(Multi-tier proxy authentication)。CAS其他几个版本已经有了新的功能。
2004年12月,CAS成为Jasig[2]的一个项目,2008年该组织负责CAS的维护和发展。CAS原名“耶鲁大学CAS”,此后被称为“Jasig CAS”。
2005年5月,CAS协议版本2发布,引入代理和服务验证。
2006年12月,安德鲁·W·梅隆基金会授予耶鲁大学第一届梅隆技术协作奖,颁发50000美元的奖金对耶鲁大学开发CAS进行奖励。[3]颁奖之时,CAS在“数以百计的大学校园”中使用。
2012年12月,JASIG与Sakai基金合并,CAS改名为Apereo CAS。
2016年11月,基于Spring Boot的CAS软件版本5发布。
参见
- OpenID
- Shibboleth (Internet2)
- Pubcookie
- JOSSO
- 安全断言标记语言(SAML)
- 基于SAML的产品和服务
- CoSign
- 斯坦福大学WebAuth (页面存档备份,存于互联网档案馆)
- 明尼苏达大学CookieAuth (页面存档备份,存于互联网档案馆)
- OpenAM
- 单点登录框架列表
参考文献
- ^ Yale University Technology and Planning
- ^ Jasig,Java in Administration Special Interest Group。
- ^ Mellon press release (PDF). [2014-07-11]. (原始内容存档 (PDF)于2010-01-18).
外部链接
- Jasig CAS主页 (3-clause BSD许可证)
- CAS客户端和相关文档
- CAS协议规范
- CAS consumer/provider software (页面存档备份,存于互联网档案馆) for web2py (页面存档备份,存于互联网档案馆) (GNU LGPL 3)
- RubyCAS伺服器和客户端 (页面存档备份,存于互联网档案馆)(MIT许可证)