`
gaojingsong
  • 浏览: 1182555 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【CAS简介】

    博客分类:
  • CAS
阅读更多

一、CAS简介

CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。

CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目。

 

 

二、什么是SSO

单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。

 

三、 SSO 原理

 SSO 体系中的角色

一般 SSO 体系主要角色有三种:

1、 User (多个)

2、 Web 应用(多个)

3、 SSO 认证中心( 1 个 )

 

SSO 实现模式的原则

SSO 实现模式一般包括以下三个原则:

1、   所有的认证登录都在 SSO 认证中心进行;

2、   SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是已通过认证的用户;

3、   SSO 认证中心和所有的 Web 应用建立一种信任关系,也就是说 web 应用必须信任认证中心。(单点信任)

 

 四、SSO 主要实现方式

SSO 的主要实现方式有:

1、   共享 cookies

基于共享同域的 cookie 是 Web 刚开始阶段时使用的一种方式,它利用浏览同域名之间自动传递 cookies 机制,实现两个域名之间系统令牌传递问题;另外,关于跨域问题,虽然 cookies 本身不跨域,但可以利用它实现跨域的 SSO 。如:代理、暴露 SSO 令牌值等。

缺点:不灵活而且有不少安全隐患,已经被抛弃。

2、   Broker-based( 基于经纪人 )

这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子身份存取。中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的 " 第三方 " 。例如 Kerberos 、 Sesame 、 IBM KryptoKnight (凭证库思想 ) 等。 Kerberos 是由麻省理工大学发明的安全认证服务,已经被 UNIX 和 Windows 作为默认的安全认证服务集成进操作系统。

3、   Agent-based (基于代理人)

在这种解决方案中,有一个自动地为不同的应用程序认证用户身份的代理程序。这个代理程序需要设计有不同的功能。比如,它可以使用口令表或加密密钥来自动地将认证的负担从用户移开。代理人被放在服务器上面,在服务器的认证系统和客户端认证方法之间充当一个 " 翻译 " 。例如 SSH 等。

4、   Token-based

例如 SecureID,WebID ,现在被广泛使用的口令认证,比如 FTP 、邮件服务器的登录认证,这是一种简单易用的方式,实现一个口令在多种应用当中使用。

5、   基于网关

6、   基于 SAML

SAML(Security Assertion Markup Language ,安全断言标记语言)的出现大大简化了 SSO ,并被 OASIS 批准为 SSO 的执行标准 。开源组织 OpenSAML 实现了 SAML 规范。

 

 

五、CAS 的基本原理

结构体系

从结构体系看, CAS 包括两部分: CAS Server 和 CAS Client 。

 CAS Server

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

 

CAS Client

负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到 CAS Server 进行认证。(原则上,客户端应用不再接受任何的用户名密码等 Credentials )。

CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。

 

CAS 原理和协议

基础模式

基础模式 SSO 访问流程主要有以下步骤:

1. 访问服务: SSO 客户端发送请求访问应用系统提供的服务资源。

2. 定向认证: SSO 客户端会重定向用户请求到 SSO 服务器。

3. 用户认证:用户身份认证。

4. 发放票据: SSO 服务器会产生一个随机的 Service Ticket 。

5. 验证票据: SSO 服务器验证票据 Service Ticket 的合法性,验证通过后,允许客户端访问服务。

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

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

 

 

 

  • 大小: 81.1 KB
0
6
分享到:
评论

相关推荐

    CAS restful接口调用

    #### 一、CAS简介 CAS(Central Authentication Service)是一种开源的单点登录协议和服务实现。它旨在减轻单一Web应用的登录流程,并为多个服务提供一个集中式的认证机制。CAS支持多种认证协议,包括但不限于...

    集成cas实现单点登录认证.zip

    1. CAS简介:CAS是耶鲁大学开源的一个Web应用的集中式身份验证服务,其目标是简化Web应用的安全管理,减少用户的登录步骤,提高安全性。CAS支持多种协议,如CAS协议、SAML2.0等,并且可以与其他身份验证服务(如...

    耶鲁CasServer单点登录教程

    一、Yale CAS简介 Yale Central Authentication Service (CAS) 是一个开源的身份验证框架,由耶鲁大学开发,主要用于实现单点登录(Single Sign-On, SSO)。SSO允许用户在一个系统上登录后,无需再次认证即可访问...

    Laravel开发-phpcas

    CAS简介** CAS(Central Authentication Service)是一种基于Web的身份验证协议,它允许用户通过单一的登录验证来访问多个应用系统,而无需重复输入用户名和密码。这对于大型企业或教育机构的多应用环境非常实用,...

    cas认证原理

    CAS简介 CAS(Central Authentication Service)是一种基于票据的认证协议,它是企业级的SSO解决方案。CAS诞生于2001年,最初版本为CAS1.0,之后发展至CAS2.0,并于2005年成为JA-SIG组织下的重要项目。为了提升扩展...

    CAS 单点登录配置说明

    **一、CAS简介** CAS的核心思想是将用户认证过程集中到一个中心服务器上,各个应用系统只需要验证用户是否已经通过了中心服务器的认证,而不需要独立进行用户身份验证。这样极大地简化了用户的登录流程,提高了用户...

    java-cas客户端client安装包

    一、CAS简介 CAS(Central Authentication Service)是一种基于票证的认证协议,主要应用于Web环境。其工作原理是,用户在访问受保护的应用系统时,会被重定向到CAS服务器进行身份验证,验证成功后,CAS服务器会返回...

    单点登录cas参考

    #### 一、CAS简介 单点登录(Single Sign On,简称SSO)是一种用户登录管理方式,用户只需要在一处登录,即可访问多个应用系统。这种方式为用户和系统管理员提供了便利,增强了用户体验,简化了身份验证过程。 CAS...

    CAS单点登录系统.doc

    #### 一、CAS简介 CAS(Central Authentication Service)是由耶鲁大学发起的一项开源项目,其目标在于为Web应用提供可靠且统一的单点登录解决方案。自2004年12月起,CAS成为了JA-SIG(Joint Authorization and ...

    CAS安装指南以及开发步骤 V1.0.docx

    #### CAS简介 CAS(Central Authentication Service)是由JA-SIG组织发起的一个项目,旨在为Web应用系统提供一种统一的、易于使用的单点登录(Single Sign-On, SSO)解决方案。CAS的核心优势在于其开放性和良好的...

    基于CAS的统一认证平台的设计与实现.pdf

    1. CAS简介: CAS是一种企业级的、开源的统一认证服务协议,它允许一个Web应用访问多个基于Web的应用系统时,只需要登录一次即可访问所有相互信任的应用系统。这种机制称为单点登录(Single Sign-On,简称SSO)。 ...

    使用CAS在Tomcat中实现单点登录参考代码及配置

    #### 一、CAS简介与特性 - **CAS**(Central Authentication Service)是由耶鲁大学发起的一个开源项目,它为Web应用程序提供了一种简单可靠且功能强大的单点登录机制。CAS自2004年12月成为JA-SIG(Joint ...

    CAS基本介绍

    CAS基本介绍.,CAS基本介绍.CAS基本介绍.CAS基本介绍.CAS基本介绍.CAS基本介绍.CAS基本介绍.CAS基本介绍.CAS基本介绍.CAS基本介绍.

    cas有无证书单点登录

    #### 一、CAS简介及应用场景 CAS (Central Authentication Service) 是一种开放源代码的单点登录协议和服务,主要用于简化用户在多个应用程序之间的身份验证过程。CAS的设计旨在提供一种简单而强大的方法来实现跨域...

    关于CAS单点登录的了解

    #### 一、CAS简介 CAS(Central Authentication Service)是一种开放源代码的单点登录协议和服务实现,主要用于解决Web应用间的认证问题。CAS为Web应用提供了一种集中式的认证服务,使得用户只需要登录一次就可以...

    CAS集成demo

    ### CAS简介 CAS的核心概念是验证中心和受保护的应用。验证中心负责用户的认证,而受保护的应用则依赖于验证中心进行权限检查。当用户访问受保护的应用时,会被重定向到CAS服务器进行身份验证,一旦验证成功,用户...

    Pentaho 5.4.0.1 + CAS单点登录配置文档

    **一、CAS简介** CAS是一个基于Web的开放源代码单点登录协议,它为Web应用程序提供了统一的登录和身份验证机制。其工作原理是:用户首次访问受保护的应用时,会被重定向到CAS服务器进行身份验证,验证成功后,CAS会...

    CAS代理模式

    而`CAS简介.ppt`可能是对CAS协议基础的介绍,帮助我们理解CAS的基本原理和应用场景。 在部署和配置CAS代理模式时,以下步骤通常需要关注: 1. **CAS服务器配置**:确保CAS服务器支持并启用了代理模式,配置相应的...

    cas-server-3.3.3-release.zip

    一、CAS简介 CAS是一种基于令牌的认证协议,用户只需要在第一次访问应用时进行身份验证,之后的访问会自动进行身份验证,无需重复输入用户名和密码。CAS服务器作为认证中心,为各个客户端应用提供认证服务,使得用户...

    cas-server-3.4.2-release

    1. **CAS简介**:CAS是一种开放源码的协议,其目标是为Web应用系统提供一种集中式的身份验证方式。用户只需在一个地方登录,就能访问所有受保护的应用,而无需再次输入用户名和密码,提高了用户体验。 2. **版本...

Global site tag (gtag.js) - Google Analytics