CAS使用及配置
tomcat 5.5.27 配置会不一样
cas-server-3.0.5.zip  下载地址http://www.ja-sig.org/downloads/cas/cas-server-3.0.5.zip
cas-client-java-2.1.1.zip 下载地址http://www.ja-sig.org/downloads/cas-clients/cas-client-java-2.1.1.zip

cas-server-release 下载地址http://www.ja-sig.org/downloads/cas/cas-server-3.1.1-release.zip

第一步安装SSL证书
我的tomcat是在E:/zy/tomcat5.5 用$t_home$代替
开始==>cmd==>进入到$t_home$下,命令如下
E:/zy/tomcat5.5>keytool -genkey -alias casserver -keypass changeit -keyalg RSA -keystore server.keystore
输入keystore密码:##输入changeit
再次输入新密码: ##输入changeit
您的名字与姓氏是什么?
  [Unknown]:  localhost ##这里是输入域名或者IP,如果是本机就输入localhost,这个必填
您的组织单位名称是什么?
  [Unknown]:  1  ##数字是自己填写,你可以填自己的,也可不填,回车跳过
您的组织名称是什么?
  [Unknown]:  2
您所在的城市或区域名称是什么?
  [Unknown]:  3
您所在的州或省份名称是什么?
  [Unknown]:  4
该单位的两字母国家代码是什么
  [Unknown]:  5
CN=localhost, OU=1, O=2, L=3, ST=4, C=5 正确吗?
  [否]:  y
这步结束后,就会在$t_home$下看到server.keystore文件

第二步导出证书
E:/zy/tomcat5.5>keytool -export -alias casserver -keypass changeit -file server.crt -keystore server.keystore
输入keystore密码:##输入changeit
保存在文件中的认证 <server.crt>
这步结束后,就会在$t_home$下看到server.crt文件

第三步导入到受权证书中
E:/zy/tomcat5.5>keytool -import -alias casserver -file server.crt -keypass changeit -keystore cacerts
注意:我这里是在$t_home$生成一个cacerts文件,然后拷贝到$java_home$/jre/lib/security/文件夹下
输入keystore密码:##输入changeit
再次输入新密码: ##输入changeit
所有者:CN=localhost, OU=1, O=2, L=3, ST=4, C=5
签发人:CN=localhost, OU=1, O=2, L=3, ST=4, C=5
序列号:4a44785d
有效期: Fri Jun 26 15:27:25 CST 2009 至Thu Sep 24 15:27:25 CST 2009
证书指纹:
         MD5:AC:D8:48:5B:A7:8C:52:9D:F9:49:B5:58:47:10:B5:53
         SHA1:4F:01:AD:17:CE:F3:B8:D8:81:E4:47:23:48:AC:24:01:FD:FB:7C:FA
         签名算法名称:SHA1withRSA
         版本: 3
信任这个认证? [否]:  y
认证已添加至keystore中
这步结束,就会在$t_home$下看到cacerts

第四步将cacerts拷贝至$java_home$下
要仔细查看你的$java_home$指向的是哪个jdk安装文件夹,有的人在机器上装了多个jdk,所以一定要看清楚
将cacerts文件拷贝到$java_home$/jre/lib/security/文件夹下

第五步布署CAS服务端
将cas-server-3.0.5.zip解压,把target目录下的cas.war包拷贝至$t_home$/webapps文件夹下

第六步配置tomcat的server.xml
打开$t_home$/conf/server.xml文件
找到<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
下面通常会有一段注释掉的配置
    <Connector port="8443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"/>
去掉注释,然后修改为
    <Connector port="8443" maxHttpHeaderSize="8192"
               protocol="org.apache.coyote.http11.Http11Protocol"   **增加的
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="server.keystore" keystorePass="changeit"/>   **增加的
这里是你的server.keystore文件和输入的认证密码changeit
注意:这是tomcat5.5.20的修改代码,其版的tomcat修改略有不同,我没有测试其它版,请自己测试
*****************************tomcat4.1.34配置
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
           port="8443" enableLookups="true" scheme="https" secure="true"
           acceptCount="100" useURIValidationHack="false" disableUploadTimeout="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="server.keystore" keystorePass="changeit"/>
*****************************tomcat5.5.9配置
<Connector port="8443" maxHttpHeaderSize="8192"  
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
           enableLookups="false" disableUploadTimeout="true"  
           acceptCount="100" scheme="https" secure="true"  
           clientAuth="false" sslProtocol="TLS"    
           keystoreFile="server.keystore"    
           keystorePass="changeit"/>
*****************************tomcat6.0.10配置
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"  
           port="8443" minSpareThreads="5" maxSpareThreads="75"  
           enableLookups="true" disableUploadTimeout="true"    
           acceptCount="100"  maxThreads="200"  
           scheme="https" secure="true" SSLEnabled="true"  
           clientAuth="false" sslProtocol="TLS"  
           keystoreFile="D:/tools/apache-tomcat-6.0.10/server.keystore"    
           keystorePass="changeit"/>
tomcat6支持3种配置,有兴趣请查看http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

第七步测试服务端
打开浏览器https://localhost:8443/cas 看看是否已经显示登录页面

第八步配置客户端(即子系统)

我们以Tomcat下的jsp-examples与servlets-examples为单点登录系统的子系统

打开两个项目中的web.xml文件在第一个<filter>前面加上如下内容

<!-- CAS test zy -->
 <filter>
  <filter-name>CASFilter</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>https://localhost:8443/cas/login</param-value>
  </init-param> 
  <init-param>
   <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
            <param-value>https://localhost:8443/cas/proxyValidate</param-value>
  </init-param>
  <init-param>
   <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
            <param-value>localhost:8080</param-value>
  </init-param>
 </filter>
    <filter-mapping>
  <filter-name>CASFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <!-- CAS test End-->

如果这段代码你无法看懂,请参阅其他资料

添加完后保存web.xml文件。然后拷贝cas-client-java-2.1.1/dist下的casclient.jar包进入两个系统的lib目录下

第九步建立登录数据库用户表

打开MySql数据库,我的数据库用户名及密码是root/root。

建立新的数据库test

建立用户表users,有两个字段username与password,主键为username

插入一条记录用户名密码为:zy/zy

第十步配置数据库文件

打开Tomcat下的cas项目,打开deployerConfigContext.xml文件

找到<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

这一行,然后注销掉,紧跟着其下面,添加这样一段代码

<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

<property name="sql" value="select password from users where username=?" />

<property name="dataSource" ref="dataSource" />

</bean>

用来指定查询的数据源,并指定查询登录用户的语句

然后,添加一个新bean,上面我们指定的数据源为dataSource,现在就来定义这个数据源

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
      <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
      <property name="url"><value>jdbc:mysql://localhost:3306/test</value></property>
      <property name="username"><value>root</value></property>
      <property name="password"><value>root</value></property>
 </bean>

这一步应该都是知道是什么意思,那么要注意的是它写的位置。

deployerConfigContext.xml文件的root标签是<beans>

所以数据源的这个新的<bean>应该写在<beans>下,请认真思考这个部分,不然会报错

如此,数据库也配置完成了。

第十一步添加依赖包

依赖包都需要添加到tomcat的cas项目下,包括以下包:

cas-server-support-jdbc-3.1.1.jar,在cas-server-release.zip下的module文件夹里可以找到

mysql-connector-java-5.1.6-bin.jar,Mysql的驱动包

DataStore需要三个包

commons-collections-3.2.jar,commons-dbcp-1.2.1.jar,commons-pool-1.3.jar

这三个包可以在Apache网站下载,也可以在www.jarbao.com 中去搜索下载

包全部导入后即完成基本配置

第十二步测试使用

启动tomcat,查看有无报错,在无报错的情况下。

http://localhost:8080 看是否出现三角猫

然后http://localhost:8080/jsp-examples 查看是否进入登录页面

暂时不登录再进入http://localhost:8080/servlets-examples 查看是否也跳入登录页面

一切顺利则说明,当进入这两个子系统时,都会检查是否有cookies票,如果没有即表示没有登录,即进入登录页面。

接下来登录,mysql数据库用户表users里的记录是zy/zy,输入用户名密码登录

正常登入一个子系统,这时再按照上面进入另外一个子系统,则不需要再登录。

如此,CAS的配置及使用正式告一段落。

新增一个子系统只需要两步

将子系统的web.xml配置上我们前面配置过的内容

将casclient.jar包放入子系统的lib文件夹下即可

CAS Tomcat配置相关推荐

  1. CAS+SSO配置单点登录完整案例

    CAS+SSO配置单点登录完整案例 目录 CAS+SSO配置单点登录完整案例 部署环境 环境说明 安全证书配置 1.打开cmd命令窗口(管理员身份打开) 2.生成证书,在cmd窗口输入以下命令: 3. ...

  2. Spring+Shiro+CAS整合配置笔记

    一.前言 Apache Shiro与Spring Security一样是Java的一个安全框架.那为什么与Spring整合却用Shiro?不要问为什么,任性!开个玩笑:D 其实我个人是认为Spring ...

  3. eclipse下tomcat配置

    eclipse下tomcat配置整了我一两个小时,呵呵,大家不要笑话,本人对eclipse还是菜鸟! 1.用到的软件 jdk-7u40-windows-i586 EclipseJavaEEIDEfor ...

  4. Rainbond最佳实践:Tomcat配置Redis实现Session共享

    Rainbond:生产级无服务器PaaS Rainbond是国内首个开源的生产级无服务器PaaS,深度整合基于Kubernetes的容器管理.多类型CI/CD应用构建与交付.多数据中心的资源管理等技术 ...

  5. intellij tomcat配置

    目录 intellij tomcat配置 @(目录) intellij tomcat配置 如上图标注 1 所示,我们可以切换随时为项目切换不同的容器. 如上图标注 2 所示,我们可以指定给运行的容器设 ...

  6. ssl单向tomcat配置webservice访问方法

    tomcat 配置 单向 SSL <Connector port="8443" protocol="org.apache.coyote.http11.Http11P ...

  7. Tomcat 配置WEB虚拟映射 及 配置虚拟主机

    Tomcat  配置WEB虚拟映射 及 配置虚拟主机 配置WEB虚拟映射文件夹有三种方法例如以下: 第一(要重新启动server的): 打开路径 Tomcat 6.0\conf 下的 server.x ...

  8. tomcat android https,tomcat 配置 https, android端 访问

    1.控制台 进入到tomcat 的bin 目录下 执行命令 keytool的命令网上很多解释 生成一个 tomcat.keystore 文件 keytool -genkey -alias tomcat ...

  9. tomcat苹果版安装步骤_mac系统安装apache tomcat配置方法图文详解

    下面,绿茶小乐哥分享mac系统安装apache tomcat配置方法,希望能帮助到大家! tomcat无法取访问appache资源. appache只支持静态网页,但像asp,php,cgi,jsp等 ...

最新文章

  1. java对象的生命周期及回收
  2. 模拟noj——打扑克
  3. 内存泄漏和内存溢出的优化
  4. github基本使用教程
  5. CoderHub接口文档
  6. virsh命令 查看虚拟机镜像_kvm虚拟机操作相关命令及虚拟机和镜像密码修改
  7. DDM:剪贴板处理处罚及截取屏幕
  8. Linux Workqueue
  9. 使用 CocoStudio 创建 Cocos2d-x 序列帧和骨骼动画
  10. 如何判断 msn 是否在线 [根据msn是否在线动态显示 msn 头像]
  11. 多尺度小波分解Matlab/Python实现与原理分析
  12. 邮件服务器软件选择,3款windows下的免费邮件服务器软件
  13. JQuery右下角弹窗广告
  14. C语言指针的正确打开方式!
  15. 网页压缩算法deflate揭秘
  16. 1分钟让你的App 适配 锤子OneStep
  17. android 仿ios数字密码解锁界面
  18. Mac 截图工具 iShot Pro - 软件介绍、下载安装详细教程
  19. Cart决策树算法原理学习
  20. boost配置(VC/CodeBlocks)与编译(bjam+msvc/mingW)

热门文章

  1. Android:手把手教你 实现Activity 与 Fragment 相互通信(含Demo)
  2. BZOJ 2879 美食节(费用流-动态加边)
  3. appium-java长按学习
  4. Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败...
  5. DOM4j读取XML文件(SAXReader)
  6. C++默认参数与函数重载
  7. 学习笔记84—[深度学习]神经网络反向传播(BackPropagation)
  8. js Date.parse()兼容性问题
  9. JAVA课程设计——“小羊吃蓝莓”小游戏
  10. 使用VC6.0创建和运行C程序的方法