CAS 是 Yale (耶鲁)大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: •开源的企业级单点登录解决方案。 •CAS Server 为需要独立部署的 Web 应用。 •CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。 ### CAS单点登录配置手册详解 #### 一、Yale CAS 概述 CAS (Central Authentication Service) 是由美国耶鲁大学发起的一项开源项目,它致力于为Web应用系统提供可靠且安全的单点登录(Single Sign-On, SSO)解决方案。自2004年12月正式成为JA-SIG(Joint Architecture for Shared Systems - Interoperability and Governance)的一个项目以来,CAS已经广泛应用于各种企业级应用和服务中。 CAS的特点主要包括: - **开源的企业级单点登录解决方案**:CAS提供了全面的支持和文档,适用于多种规模的企业和组织。 - **CAS Server**:作为独立部署的Web应用,负责处理用户的认证过程,是整个CAS架构的核心组件。 - **CAS Client**:支持多种编程语言和平台,包括Java、.Net、PHP、Perl、Apache、uPortal 和 Ruby 等,使得不同平台之间的集成变得简单高效。 #### 二、CAS 工作原理与协议流程 CAS的基本工作原理可以分为两个核心部分:CAS Server和CAS Client。 1. **CAS Server**:负责用户的认证和Ticket的管理,是单点登录系统中的认证中心。 2. **CAS Client**:部署于各个需要保护的应用系统中,用于代理这些应用系统与CAS Server进行通信,实现用户的登录验证。 CAS的典型协议流程如下: 1. 用户尝试访问某个受保护的应用系统。 2. CAS Client检查HTTP请求中是否存在Service Ticket (ST)。如果没有找到ST,CAS Client将重定向用户至CAS Server的登录页面,并传递要访问的资源地址(Service)。 3. 用户在CAS Server上输入登录凭据(用户名和密码)。如果登录成功,CAS Server会生成一个唯一的ST,并将用户重定向回原始请求的Service地址。 4. 在重定向过程中,CAS Server还会设置一个Ticket Granting Cookie (TGC)。TGC用于后续的无感知登录。 5. CAS Client接收到ST后,会与CAS Server进行验证,以确认ST的有效性。 6. 验证通过后,用户即可访问受保护的资源。 在整个过程中,为了保证安全性,CAS通常采用SSL/TLS协议来加密传输ST和TGC等敏感信息。 #### 三、CAS 服务端配置 接下来详细介绍CAS服务端的配置步骤: ##### 1. 准备环境 - **JDK**:推荐使用JDK 1.6 或更高版本。 - **Apache Tomcat**:本例中使用的是Apache Tomcat 6.0.14 版本。 - **CAS Server**:本例中使用的是CAS Server 3.4.2版本。 ##### 2. 配置Server - **部署CAS Server**:将CAS Server的WAR文件复制到Tomcat的webapps目录下,并启动Tomcat服务器。 - **配置数据库访问**:根据所使用的数据库类型,例如本例中的Oracle数据库,需要将相应的数据库驱动程序(如class12.jar)复制到CAS Server的Web-Inf/lib目录下。 - **修改数据源配置**:在deployerConfigContext.xml文件中添加数据源的相关配置,例如数据库连接字符串、用户名和密码等。 - **配置登录验证方法**:可以选择不同的验证方法,如基于相同的用户名/密码的验证、使用SQL查询语句验证或指定表和字段进行验证等。具体配置如下: - **相同用户名或密码验证**:通过`SimpleTestUsernamePasswordAuthenticationHandler`类实现。 - **SQL查询验证**:通过`QueryDatabaseAuthenticationHandler`类结合SQL查询实现。 - **指定表或字段验证**:通过`SimpleJdbcUsernamePasswordAuthenticationProvider`类实现。 完成以上配置后,重启CAS Server并进行测试,确保用户能够通过数据库验证成功登录。 通过上述详细的介绍,我们可以清晰地了解到CAS单点登录系统的原理及其配置方法。这对于实际部署和维护CAS系统具有重要的指导意义。
- 粉丝: 0
- 资源: 27
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助