大数跨境

单点登录(SSO)之CAS框架

单点登录(SSO)之CAS框架 菲斐科技
2021-09-09
1
导读:CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。









简介





   单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。为了解决第一个问题,即实现各信息系统之间的全面整合,集团公司引进了企业信息门户(EIP),即将各种应用系统(诸如ERP、BPM、HR、OA、企业邮局等)、数据资源和互联网资源统一集到企业信息门户之下,根据每个用户使用特点和角色的不同,形成个性化的应用界面,并通过对事件和消息的处理、传输把用户有机地联系在一起。


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

【1】开源的企业级单点登录解决方案;

【2】CAS Server 为需要独立部署的 Web 应用—tomcat;

【3】CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net,PHP, Perl, Apache, uPortal,Ruby 等。


    从结构上看,CAS 包含两个部分:CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作(登录);CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。


   下图是 CAS 最基本的协议过程:





01

特性


(1) 开源的、多协议的SSO解决方案,CAS Server和CAS Client通信支持多协议,如:CAS、Oauth、OpenID、SAML1.1、SAML2.0D等;


(2) 支持多种认证机制:Active Directory、JAAS、JDBC、LDAP、X.509 Certificates等;


(3) 安全策略:使用票据(Ticket)来实现支持的认证协议;


(4) 支持多种客户端:Java、.Net、PHP、Perl、Apache、 uPortal等;


(5) 支持授权:可以决定哪些服务可以请求和验证服务票据(Service Ticket);


(6) 提供高可用性:通过把认证过的状态数据存储在TicketRegistry组件中,这些组件有很多支持分布式环境的实现。






02

CAS原理







体系结构




    CAS包含CAS Server和CAS Client两个部分。


    CAS Server负责完成对用户的认证工作,需要独立部署,CAS Server 会处理用户名/ 密码等凭证(Credentials)。


      CAS Client负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到CAS Server进行认证。原则上,客户端应用不再接受任何的用户名密码等。CAS Client与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源。





CAS基础协议




CAS基础协议执行步骤如下:

(1) 访问服务:用户发送请求访问应用系统(可称为CAS客户端)提供的受保护的服务资源


(2) 重定向认证:CAS客户端分析HTTP请求中没有Service Ticket(即ST)或SessionID,说明用户还没有进行身份认证。于是,重定向用户请求到CAS服务器进行身份认证,并把用户此次访问CAS客户端的URL作为参数(service)传递给CAS服务器;


(3) 用户认证:CAS服务器接收到身份认证请求后转向登录页面,用户提供认证信息后进行身份认证。身份认证成功后,CAS服务器以SSL方式给浏览器返回一个TGC(用户身份信息凭证,用于以后获取ST);


(4) 发放票据:CAS服务器会产生一个随机的ST,然后重定向到CAS客户端;


(5)验证票据:CAS客户端收到ST后,向CAS服务器验证票据ST的合法性,验证通过后,允许用户访问客户端服务;


(6)传输用户信息:CAS服务器验证票据ST通过后,传输用户认证结果信息给客户端。





03

CAS的应用


     在某省民族宗教事务委员会信息化项目系统平台建设过程中,菲斐科技采用CAS框架对一体化办公系统、民族宗教事务管理系统、宗教活动场所安全技术防范系统、宗教活动场所资源管理系统、中心支撑平台等多个系统进行了单点登录的集成,从身份认证策略及授权访问控制方面保证用户认证安全。




     同时CAS的应用还提高了用户的效率,简化管理,切实满足该项目各层次的安全需求,这是菲斐团队在跨平台、跨域的单点登录技术与安全技术上的一次成功实践。









【声明】内容源于网络
0
0
菲斐科技
关注大数据,聚焦小数据;菲斐科技在信息、数据、科技专业领域以务实创新的精神不断进行开拓实践和探索进取,目前已为众多国家机关、政府机构及企事业单位提供优质的服务和信息化整体解决方案。
内容 65
粉丝 0
菲斐科技 关注大数据,聚焦小数据;菲斐科技在信息、数据、科技专业领域以务实创新的精神不断进行开拓实践和探索进取,目前已为众多国家机关、政府机构及企事业单位提供优质的服务和信息化整体解决方案。
总阅读92
粉丝0
内容65