由于工作上的需求,最近在研究CAS单点登录,参看其它博客官网文档。为了记录学习的一些过程,以便后面翻阅也一同给大家分享一下。
版本为CAS-5.1.3
CAS是一个单点登录框架,开始是由耶鲁大学的一个组织开发,后来归到apereo去管。 同时CAS也是开源,遵循着apache 2.0协议,代码目前是在github上管理。
单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
通俗理解:一个应用登录了,其他被授权的应用不用再登录。 应用例子为:百度系列产品,只要一个应用登陆成功,其它应用则不需要登陆直接访问。
CAS特性非常强大,我们可以到官网文档一一了解。 https://www.apereo.org/projects/cas
CAS服务器和CAS客户端组成CAS系统架构的两个物理组件,它们通过各种协议进行通信。
CAS Server(CAS服务器)是基于Spring框架构建的Java servlet,其主要职责是验证用户并通过发布和验证票证来授予对启用CAS的服务(通常称为CAS客户端)的访问权限。 当服务器在成功登录时向用户发出票证授予票证(TGT)时,将创建SSO会话。 根据用户的请求,通过使用TGT作为标记的浏览器重定向向服务发出服务票据(ST)。 ST随后通过反向信道通信在CAS服务器上进行验证。 CAS Protocol文档中详细描述了这些交互。
CAS Clients(CAS客户端)术语“CAS客户”在其通用中有两个不同的含义。 CAS客户端是可以通过支持的协议与服务器进行通信的任何CAS支持的应用程序。 CAS客户端也是一个软件包,可以与各种软件平台和应用程序集成,以便通过某种身份验证协议(例如CAS,SAML,OAuth)与CAS服务器进行通信。 已经开发了支持多种软件平台和产品的CAS客户端。