实验背景: 
系统环境: 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. Python学习笔记8-单元测试(1)

    源代码: roman_mumeral_map = (('M',1000), ('CM',900), ('D',500), ('CD',400), ('C',100), ('XC',90), ('L', ...

  2. 《HeadFirst SQL》笔记

    规范化 0 约束 1 原子性 2 第一范式 1NF 3 数据模式 4 依赖 5 联接查询 6 交叉联接(AKA 笛卡尔联接,叉积) 7 内联接 8 子查询 9 外联接 10 自联接 11 集合 12 ...

  3. Python测试函数的方法之一

    Python测试函数的方法之一 首先介绍简单的try......except尝试运行的放例如下面的图和代码来简单介绍下: 注释:提醒以下代码环境为2.7.x 请3.x以上的同学们老规矩print(把打 ...

  4. war 文件打包技巧

    1.首先是工具比如Eclipse很方便了. 2.用winrar之类的工具,把web-info目录,及跟它同级的所有目录及文件,打包成 zip文件就行了,然后把扩展名改成war! 3 Jar命令: 假定 ...

  5. java nio系列文章

    java nio系列教程 基于NIO的Client/Server程序实践 (推荐) java nio与并发编程相关电子书籍   (访问密码 48dd) 理解NIO nio学习记录 图解ByteBuff ...

  6. HashMap源码分析

    最近一直特别忙,好不容易闲下来了.准备把HashMap的知识总结一下,很久以前看过HashMap源码.一直想把集合类的知识都总结一下,加深自己的基础.我觉的java的集合类特别重要,能够深刻理解和应用 ...

  7. OSG3.40 编译时,无法打开输入文件“optimized.lib”

    解决方案: 正常情况下,下图中会多出一项:ZLIB_LIBRARY_RELEASE,之后屡次编译,都提示"无法打开输入文件"optimized.lib"" 因为 ...

  8. shiro-简介

    简介: Apache Shiro 是Java的一个安全(权限)框架. Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境. Shiro可以完成:认证 ...

  9. ConcurrentHashMap内存泄漏问题

    问题背景 上周,同事写了一段ConcurrentHashMap的测试代码,说往map里放了32个元素就内存溢出了,我大致看了一下他的代码及运行的jvm参数,觉得很奇怪,于是就自己捣鼓了一下.首先上一段 ...

  10. VS2015下如何用编译、调试程序。

    VS2015下如何用编译.调试程序. (通过实践给出截图) 安装步骤: 下载安装网址[VS2015下载地址](http://www.ithome.com/html/win10/164028.htm) ...