实验背景: 
系统环境: Windows XP  |  SUN JDK1.6U4 | Tomcat6.0.14 | CAS Server 3.1.1 + CAS Client 2.1.1 
主机完整名称: victor-pc 
浏览器: FireFox V2.0.0.11

 
实验步骤: 
STEP 1,搭建Java Web服务器环境 
安装 JDK + Tomcat 6.0.14 , HTTP端口8080 , HTTPS端口8443 
JAVA_HOME = D:\Java\jdk1.6.0_04 
CATALINA_HOME = D:\Java\apache-tomcat-6.0.14 
安装完毕,启动Tomcat ,在浏览器上 测试 http://victor-pc:8080/ ,如何出现一只小猫就说明可以正常访问。
 
STEP 2,使用Java Keytool工具为系统生成HTTPS证书,并为系统注册 
(Java Keytool相关资料可参阅:Java keytool 安全证书学习笔记), 在DOS窗体运行以下指令(建议编写一个BAT批处理文件执行) 
1.生成证书
    keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=victor-pc" -keystore c:\keys -storepass changeit
 
参数说明:
   -genkey表示要创建一个新的密钥 

-dname表示密钥的Distinguished Names, 
        CN=commonName 
        OU=organizationUnit 
        O=organizationName 
        L=localityName 
        S=stateName 
        C=country 
Distinguished Names表明了密钥的发行者身份 
-keyalg使用加密的算法,这里是RSA 
-alias密钥的别名 
-keypass私有密钥的密码
-keystore 密钥保存在C:\keys
-storepass 存取密码,这里设置为changeit,这个密码提供系统从mykeystore文件中将信息取出

 
2.导出证书
     keytool -export -file c:/tomcatsso.crt -alias tomcatsso -keystore c:/keys -storepass changeit
    注释: 从keystore中导出别名为tomcatsso的证书,生成文件tomcatsso.crt
 
3.导入证书
   keytool -import -file c:/tomcatsso.crt  -alias tomcatsso -keystore c:/cacerts -storepass changeit
  
   
注释:将tomcatsso.crt导入jre的可信任证书仓库。注意,安装JDK是有两个jre目录,一个在jdk底下,一个是独立的jre,这里的目录必须同Tomcat使用的jre目录一致,否则后面Tomcat的HTTPS通讯就找不到证书了
(在上面导入的时候出现了一个问题,由于javahome的路径中有空格,在导入的时候会出现 Files不是合法命令的错误,没办法只好把cacerts这个证书从javahome下拷到 c: 下,导入成功后,再复制到C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\security下)
 
4.查看证书是否成功导入
  

STEP 3,配置Tomcat的HTTPS服务 
编辑D:\Java\apache-tomcat-6.0.14\conf下的server.xml文件,

   去掉此文件83到93行之间的注释,修改为:
 
               maxThreads="150" scheme="https" secure="true"  
               clientAuth="false" sslProtocol="TLS"   
               keystoreFile="c:/keys"  
               keystorePass="changeit"/>
启动Tomcat,访问https://victor-pc:8443/,出现一只小老虎说明HTTPS配置生效;
 
STEP 4,为HelloWorldExample程序配置CAS过滤器
访问http://victor-pc:8080/examples/servlets/servlet/HelloWorldExample,出现

Hello World!

界面说明应用正常启动:

 
编辑D:\Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF下的web.xml文件,添加如下信息: 
 

 
 
 
 
 
拷贝casclient.jar文件到目录D:\Java\apache-tomcat-6.0.14\webapps\examples\WEB-INF\lib下。 
由于我们使用的是Tomcat6.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://victor-pc:8080/cas/index.jsp,出现以下画面: 
 
输入用户名:admin 密码:admin,点击登录,出现登录成功说明CAS服务器配置运行成功。
 
STEP 6,测试JA-SIG(CAS)部署结果 
启动Tomcat。 
测试使用浏览器登陆以下网址:http://linly:8080/examples/servlets/servlet/HelloWorldExample,页面将弹出以下
SSO登录认证界面:

输入用户名=密码,如:admin/admin,则通过验证,进入应用的入口界面,如下:
 
HELLO WORD!
 
细心的用户将发现,此时的URL不再是: 
http://victor-pc:8080/examples/servlets/servlet/HelloWorldExample, 
URL的尾端带上了一个ticket参数: 
http://victor-pc:8080/examples/servlets/servlet/HelloWorldExample?ticket=ST-1-fFeHVaBvw11tDnCfdESr
 
到此,JA-SIG(CAS)服务器的初步SSO部署宣告成功

CAS环境搭建的更多相关文章

  1. CAS环境搭建-证书方式(https连接)

    一.教程前言 1 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤 2 单点登录(SSO):请看<CAS简介> 3 本教程使用的SSO服务器是Yelu大学研发的CAS(Cen ...

  2. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  3. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  4. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  5. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  6. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  7. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  8. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  9. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

随机推荐

  1. 3-udev

    Udev 这个是挂载上的u盘 拔掉再插上 查看u盘设备信息 拔掉再插上,显示了 来自为知笔记(Wiz) 附件列表

  2. Mac下安装GIT的坑

    先去 https://git-scm.com/download/mac 下载 GIT 客户端 双击安装,界面中有三个文件 接着双节 .pkg 文件,却提示无法安装 解决方式是按住 Control ,再 ...

  3. node 异步回调解决方法之yield

    先看如何使用 使用的npm包为genny,npm 安装genny,使用 node -harmony 文件(-harmony 为使用es6属性启动参数) 启动项目 var genny= require( ...

  4. 禁用Windows重复数据删除

    重复数据删除,可以减少磁盘占用,但使用不当也有可能增加IO,另外,也为此功能会将硬盘分块,所以当硬盘占用较高时,进行碎片整理也比较困难,所以有时需要禁用掉重复数据删除功能,并解除重复数据的优化,可以通 ...

  5. Programming Contest Problem Types

        Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...

  6. oAuth 2.0 笔记

    OAuth 2.0规范于2012年发布,很多大型互联网公司(比如:微信.微博.支付宝)对外提供的SDK中,授权部分基本上都是按这个规范来实现的. OAuth 2.0提供了4种基本的标准授权流程,最为复 ...

  7. [LeetCode] Paint House II 粉刷房子之二

    There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...

  8. jquery-leonaScroll-1.3-自定义竖向自适应滚动条插件

    下载链接地址:https://share.weiyun.com/9ac3ca3fb29648bb1aad1b83a76b123c (密码:4y9t)[含mini版] 欢迎使用leonaScroll-1 ...

  9. Fragment完全解析

    Android Fragment 的使用,一些你不可不知的注意事项 Fragment全解析系列(一):那些年踩过的坑 Fragment全解析系列(二):正确的使用姿势 Fragment之我的解决方案: ...

  10. Apache service named reported the following error(OS 10055)由于系统缓冲区空间不足或队列已满解决办法?

    apache启动失败报错: The Apache service named reported the following error:>>> AH00451: no listeni ...