CAS单点登陆配置手册
1、Yale CAS简介
CAS 是 Yale (耶鲁)大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:
•开源的企业级单点登录解决方案。
•CAS Server 为需要独立部署的 Web 应用。
•CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
2、CAS 原理和协议
从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图1 是 CAS 最基本的协议过程:
图 1. CAS 基础协议
CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份合适,以确保 Service Ticket 的合法性。
在该协议中,所有与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工作过程中会有 2 次重定向的过程,但是 CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。
3、CAS服务端配置
apache-tomcat-
cas-server-
将cas-server war文件复制到webapps下,启动tomcat,以相同用户名或密登录成功。
复制modules下面所有jar文件到cas-server的Web-inf/lib下,(oracle数据库驱动)。
修改配置数据源,。
<bean id="dataSource" class="">
<property name="driverClassName"><value></value></property>
<property name="url"><value>jdbc:oracle:thin:***@localhost:1521:orcl</value></property>
<property name="username"><value>aip</value></property>
<property name="password"><value>aip</value></property>
</bean>
修改登录验证方法,,改为数据库验证。重新启动,通过数据库验证用户成功.
三种验证方法:
相同用户名或密码
<bean
class="" />
用select语句验证
<bean class="">
<property name="sql" value="select pass
CAS之SSO配置手册 来自淘豆网m.daumloan.com转载请标明出处.