火龙果软件-CAS系统的基本使用_第1页
火龙果软件-CAS系统的基本使用_第2页
火龙果软件-CAS系统的基本使用_第3页
火龙果软件-CAS系统的基本使用_第4页
火龙果软件-CAS系统的基本使用_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、正式成为 JA-SIG 的一个项目。CAS 具有以下特点: 开源的企业级单点登录解决方案。 CAS Server 为需要独立部署的 Web 应用。 CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。CAS 原理和协议从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server

3、。图1 是 CAS 最基本的协议过程:图 1. CAS 基础协议CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Tic

4、ket,并缓存以待将来验证,之后系统自动重定向到 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 验证的过程对于用户是透明的。另外,CAS 协议中还提

5、供了 Proxy (代理)模式,以适应更加高级、复杂的应用场景,具体介绍可以参考 CAS 官方网站上的相关文档。Tomcat 与 cas 集成 实验背景: 系统环境: Windows XP | SUN JDK1.6U4 | Tomcat6.0.14 | CAS Server 3.1.1 + CAS Client 2.1.1 主机完整名称: Linly 浏览器: FireFox V1 实验步骤: STEP 1,搭建Java Web服务器环境 安装 JDK + Tomcat 6.0.14 , HTTP端口8080 , HTTPS端口8443 JAVA_HOME = D:/Java/j

6、dk1.6.0_04 CATALINA_HOME = D:/Java/apache-tomcat-6.0.14 安装完毕,启动Tomcat ,在浏览器上 测试 http:/Linly:8080/ 出现上述界面,表明系统STEP1成功搭建。 STEP 2,使用Java Keytool工具为系统生成HTTPS证书,并为系统注册 (Java Keytool相关资料可参阅:Java keytool 安全证书学习笔记), 在DOS窗体运行以下指令(建议编写一个BAT批处理文件执行) cls rem please set the env JAVA_HOME before run this bat file

7、 rem delete alia tomcat if it is existed keytool -delete -alias tomcatsso -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit keytool -delete -alias tomcatsso -storepass changeit (注释: 清除系统中可能存在的名字为tomcatsso 的同名证书) rem list all alias in the cacerts keytool -list -keystore %JAVA_HOME%/j

8、re/lib/security/cacerts -storepass changeit (注释: 列出系统证书仓库中存在证书名称列表) rem generator a key keytool -genkey -keyalg RSA -alias tomcatsso -dname cn=linly -storepass changeit (注释:指定使用RSA算法,生成别名为tomcatsso的证书,存贮口令为changeit,证书的DN为cn=linly ,这个DN必须同当前主机完整名称一致哦,切记!)rem export the key keytool -export -alias tomc

9、atsso -file %java_home%/jre/lib/security/tomcatsso.crt -storepass changeit (注释: 从keystore中导出别名为tomcatsso的证书,生成文件tomcatsso.crt)rem import into trust cacerts keytool -import -alias tomcatsso -file %java_home%/jre/lib/security/tomcatsso.crt -keystore %java_home%/jre/lib/security/cacerts -storepass chan

10、geit (注释:将tomcatsso.crt导入jre的可信任证书仓库。注意,安装JDK是有两个jre目录,一个在jdk底下,一个是独立的jre,这里的目录必须同Tomcat使用的jre目录一致,否则后面Tomcat的HTTPS通讯就找不到证书了) rem list all alias in the cacerts keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit (注释:列出jre可信任证书仓库中证书名单,验证先前的导入是否成功,如果导入成功,应该在列表中能找到tomcatsso

11、这个别名,如下图)/quote 同时,在D:/Java/jdk1.6.0_04/jre/lib/security目录下能找到“tomcatsso.crt”这个文件;在C:/Documents and Settings/Linly目录下能找到“.keystore”文件。 满足上述条件则STEP2部署完成。 STEP 3,配置Tomcat的HTTPS服务 编辑D:/Java/apache-tomcat-6.0.14/conf下的server.xml文件,在connector的配置位置添加以下的配置: 引用启动Tomcat,访问https:/linly:8443/,出现以下界面说明HTTPS配置生效

12、: STEP 4,为HelloWorldExample程序配置CAS过滤器 访问http:/linly:8080/examples/servlets/servlet/HelloWorldExample,出现以下界面说明应用正常启动: 编辑D:/Java/apache-tomcat-6.0.14/webapps/examples/WEB-INF下的web.xml文件,添加如下信息: 引用 CAS Filter edu.yale.its.tp.cas.client.filter.CASFilter edu.yale.its.tp.cas.client.filter.loginUrl https:/

13、Linly:8443/cas/login edu.yale.its.tp.cas.client.filter.validateUrl https:/Linly:8443/cas/serviceValidate edu.yale.its.tp.cas.client.filter.serverName Linly:8080 引用 CAS Filter /servlets/servlet/HelloWorldExample 拷贝casclient.jar文件到目录D:/Java/apache-tomcat-6.0.14/webapps/examples/WEB-INF/lib下。 由于我们使用的是T

14、omcat6.0.14,因此,还要拷贝commons-logging-1.0.4.jar到该目录下。 STEP 5,部署JA-SIG(CAS)服务器 拷贝cas.war到D:/Java/apache-tomcat-6.0.14/webapps目录下。启动Tomcat,访问网址http:/linly:8080/cas/index.jsp,出现以下画面: 输入用户名/密码 :linly/linly(任意两个相同的字窜),点击“登录”,出现以下画面: 表示CAS服务器配置运行成功。 STEP 6,测试JA-SIG(CAS)部署结果 启动Tomcat。 测试使用浏览器登陆以下网址:http:/linly:8080/examples/servlets/servlet/HelloWorldExample,页面将弹出以下认证框,点击“确定” 页面将重定向到JA-SIG的SSO登录认证页面 输入用户名=密码,如:linly/linly,则通过验证,进入应用的入口界面,如下:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论