CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源 的SSO(single sign-on)的服务。
该服务是以一个java web app(eg:cas.war)来进行服务的,使用时需要将cas.war发布到一个servlet2.3兼容的服务器上,并且服务器需要支持 SSL,在需要使用该服务的其他服务器(客户),只要进行简单的配置就可以实现SSO了。
CAS 的客户端可以有很多种,可以使用cas-client,目前版本cas-client-java-3.1。
对于需要使用CAS的应用来说,需要一下步骤:
把casclient.jar或者其他客户端的jar拷贝到你的应用的Lib目录下
修改应用的web.xml文件,加入下面的部分
<filter> <filter-name>CAS Filter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> <param-value>[url]https://casserver/cas/login</param-value>[/url] </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>[url]https://casserver/cas/proxyValidate</param-value>[/url] </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>yourerver:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>/cas-protected/*</url-pattern> </filter-mapping>
说明:1 <filter-name>CAS Filter</filter-name> CAS的servlet filter。这个类负责过滤所有的请求,把某些请求转发给CAS处理。
2 edu.yale.its.tp.cas.client.filter.loginUrl 登陆页面。每个应用登陆使用的都是cas应用的登陆服务。具体的登陆页面可以改变,但是每次cas应用启动只能有一个登陆服务,所以所有的应用只能使用同样的登陆页面。
3 edu.yale.its.tp.cas.client.filter.validateUrl cas中负责判断登陆的有效性
4 edu.yale.its.tp.cas.client.filter.serverName 运行你的应用的服务器名称,每个应用都可以不相同
5 <url-pattern>/cas-protected/*</url-pattern> 是应用中需要登陆后才能访问的地址的通配的写法,也就是告诉cas 哪些地址需要cas的保护。由于不可能具体的写出所有需要保护的url,所以必须规定可以通配的写法。例如 /cas-protected/* 就是url中包含/cas-protected/的都会需要CAS logincas server的配置
http://www.matrix.org.cn/blog/wolfw/archives/2004_09.html
分享到:
相关推荐
这个demo是为了帮助开发者更好地理解和实践SSO与CAS的集成。 1. **CAS简介**:CAS是一种基于Web的单点登录协议,它由耶鲁大学开发并维护。CAS服务器负责处理用户的身份验证请求,验证成功后生成服务票(Service ...
NULL 博文链接:https://wangchao-17915566.iteye.com/blog/334582
SSO之CAS单点登录详细教程.docx
【SSO、CAS与Shiro:理解与应用】 在当今的Web开发中,单点登录(Single Sign-On,简称SSO)已经成为企业级系统中不可或缺的一部分。SSO允许用户通过一次登录,就能访问多个相互独立的应用系统,极大地提高了用户...
CAS是耶鲁大学开源的一个SSO解决方案,它为Web应用程序提供了一个集中式的认证服务。以下是本教程涉及的主要知识点: 1. **CAS架构**:CAS由三个主要组件组成:CAS服务器、CAS客户端和用户浏览器。用户首先向CAS...
9. **服务注册与管理**:所有需要SSO功能的应用都需要在CAS服务器上注册,定义其服务URL和服务属性,以便CAS能够正确地验证和授权。 总的来说,这个"SSO之CAS单点登录客户端服务端jar包"包含了实现基于CAS的单点...
### SSO CAS Server 二次开发说明文档 #### 环境搭建 为了便于进行二次开发,推荐使用Maven overlays特性来构建开发环境。这样可以利用最新版本的资源文件覆盖现有WAR包中的文件,无需手动导入整个`cas-server-...
本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...
CAS可以通过插件系统与其他系统进行集成,例如与OAuth、OpenID Connect、SAML等身份协议的互操作,或与Spring Security、Apache Shiro等安全框架配合使用。这使得CAS能够适应更广泛的生态系统。 **维护与监控** ...
本教程将通过“SSO之CAS单点登录详细图文教程.zip”这个压缩包,详细介绍如何部署CAS(Central Authentication Service)来实现SSO。 首先,让我们了解CAS的基本架构。CAS通常包括两个主要部分:服务端和客户端。...
CAS(Central Authentication Service)是SSO的一种实现,由耶鲁大学开发并开源,它提供了一个中心化的认证服务器和一系列协议来实现SSO。本项目是一个基于Java Maven构建的SSO解决方案,包括服务端和客户端两部分。...
- **CAS Client**: 集成到各个应用中,负责与CAS Server通信,引导用户进行SSO登录,并处理服务票据验证结果。 - **Ticket Granting Cookie (TGC)**: 当用户在CAS上登录后,CAS会发送一个TGC给浏览器,后续请求中,...
- **CAS Client**:集成到各个需要支持SSO的应用程序中,用来与CAS Server进行通信,获取或验证票据,从而完成用户的认证过程。 CAS的特点包括: - 支持多种编程语言:除了Java之外,还支持Perl、Python、ASP等语言...
SSO之CAS单点登录实例演示
在这个场景下,`CAS_LDAP.rar` 文件集合提供了一个关于如何将CAS与OpenLDAP集成以实现SSO和SOA的实践指南。 **CAS (Central Authentication Service)** CAS 是一个开源的、基于Web的单一登录协议服务器,它允许...
CAS(Central Authentication Service)是 Yale 大学开源的一个SSO协议,广泛应用于企业级应用环境中。本源码集合为一个简单的Java实现的SSO CAS单点登录示例,适合初学者理解和实践SSO原理。 首先,我们需要理解...
CAS的设计理念是简单高效且安全,其核心在于提供一个中心化的认证服务,与各个应用系统之间建立信任关系。 CAS系统主要包括两个主要组件: 1. CAS Server:这是SSO的核心,负责处理用户的认证请求。用户尝试访问受...
CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS...