`
limogogogo
  • 浏览: 60482 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Tomcat部署Yale CAS实践

阅读更多

 

一、资源版本:<o:p></o:p>

Tomcat<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate><o:p></o:p>

cas-server-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.0.7</st1:chsdate><o:p></o:p>

cas-client-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">2.0.11</st1:chsdate><o:p></o:p>

<o:p> </o:p>

二、Tomcat部署环境:<o:p></o:p>

casserver——cas服务器部署环境<o:p></o:p>

casclient——cas客户机部署环境(发布jsp-examples<o:p></o:p>

casclient1——cas客户机部署环境(发布servlets-examples<o:p></o:p>

<o:p> </o:p>

三、SSL文件准备:<o:p></o:p>

server.keystore——服务器端库文件<o:p></o:p>

client.keystore——客户端库文件<o:p></o:p>

server.cer——服务器端证书(自制)<o:p></o:p>

client.cer——客户端证书(自制)<o:p></o:p>

cacerts——证书链<o:p></o:p>

1、生成服务器端库文件<o:p></o:p>

keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore <o:p></o:p>

2、导出服务器端证书<o:p></o:p>

keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore <o:p></o:p>

<o:p> </o:p>

3、生成客户端库文件<o:p></o:p>

keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore <o:p></o:p>

<o:p> </o:p>

4、导出客户端证书<o:p></o:p>

keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore <o:p></o:p>

5、导入服务器端证书到cacerts<o:p></o:p>

keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit <o:p></o:p>

<o:p> </o:p>

6、导入客户端证书到cacerts<o:p></o:p>

keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit <o:p></o:p>

server.keystoreclient.keystoreerver.cerclient.cercacerts文件复制到cas服务器、cas客户机、cas客户机1TOMCAT_HOME主目录及JAVA_HOEM\jre\lib\security目录下。<o:p></o:p>

四、Tomcatcas安装部署<o:p></o:p>

1casserver配置<o:p></o:p>

采用jakarta-tomcat-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate>.zip解压后默认配置,重点注意Server port="8005"<o:p></o:p>

Connector port="8080" redirectPort="8443"cas客户端需改端口号)。<o:p></o:p>

A 编辑.\casserver\conf目录下server.xml文件并保存。<o:p></o:p>

找到如下片段,红色字体为新增内容。<o:p></o:p>

<!----><o:p></o:p>

    <connector port="8443"></connector>

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<o:p></o:p>

               enableLookups="false" disableUploadTimeout="true"<o:p></o:p>

               acceptCount="100" debug="0" scheme="https" secure="true"<o:p></o:p>

               clientAuth="false" sslProtocol="TLS" <o:p></o:p>

               keystoreFile="/server.keystore" keystorePass="changeit"/><o:p></o:p>

<o:p> </o:p>

B、拷贝cas.war.\casserver\webapps目录。<o:p></o:p>

至此,cas服务器部署完毕。启动服务器,访问https://localhost:8443如能显示Tomcat首页则表示cas部署成功。<o:p></o:p>

<o:p> </o:p>

2casclient配置<o:p></o:p>

jakarta-tomcat-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate>.zip解压后修改根目录名为casclient<o:p></o:p>

A、编辑.\casclient\conf目录下server.xml文件并保存。<o:p></o:p>

找到如下片段,红色字体为修改内容。<o:p></o:p>

<server port="&amp;lt;span style="></server>8006" shutdown="SHUTDOWN" debug="0"><o:p></o:p>

<connector port="&amp;lt;span style="></connector>8081"<o:p></o:p>

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<o:p></o:p>

               enableLookups="false" redirectPort="8080" acceptCount="100"<o:p></o:p>

               debug="0" connectionTimeout="20000" <o:p></o:p>

               disableUploadTimeout="true" /><o:p></o:p>

B、编辑.\casclient\webapps\jsp-examples\WEB-INF目录下web.xml文件并保存。<o:p></o:p>

加入如下片段,重点注意红色字体部分。<o:p></o:p>

<filter></filter>   <o:p></o:p>

    <filter-name></filter-name>CASFilter   <o:p></o:p>

    <filter-class></filter-class>edu.yale.its.tp.cas.client.filter.CASFilter   <o:p></o:p>

    <init-param></init-param>   <o:p></o:p>

        <param-name></param-name> edu.yale.its.tp.cas.client.filter.loginUrl   <o:p></o:p>

        <param-value></param-value> https://localhost:8443/cas/login   <o:p></o:p>

       <o:p></o:p>

    <init-param></init-param>   <o:p></o:p>

        <param-name></param-name> edu.yale.its.tp.cas.client.filter.validateUrl   <o:p></o:p>

         <param-value></param-value> https://localhost:8443/cas/proxyValidate   <o:p></o:p>

       <o:p></o:p>

    <init-param></init-param>   <o:p></o:p>

        <param-name></param-name> edu.yale.its.tp.cas.client.filter.serverName   <o:p></o:p>

        <param-value></param-value> localhost:8081   <o:p></o:p>

       <o:p></o:p>

   <o:p></o:p>

<filter-mapping></filter-mapping>   <o:p></o:p>

    <filter-name></filter-name>CASFilter   <o:p></o:p>

    <url-pattern></url-pattern>/*   <o:p></o:p>

<o:p></o:p>

<o:p> </o:p>

C、将casclient.jar拷贝至.\casclient\webapps\jsp-examples\WEB-INF\lib目录下。<o:p></o:p>

至此,cas客户端部署完毕。启动客户服务器,访问http://localhost:8081/jsp-examples正常情况会弹出安全警报,点击确认后转向cas登录页面。此时casserver采用默认验证,用户名、口令输入相同的字符串即可,验证通过后转向jsp-examples应用的默认页面。<o:p></o:p>

<o:p> </o:p>

3casclient1配置<o:p></o:p>

jakarta-tomcat-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate>.zip解压后修改根目录名为casclient1<o:p></o:p>

D、编辑.\casclient1\conf目录下server.xml文件并保存。<o:p></o:p>

找到如下片段,红色字体为修改内容。<o:p></o:p>

<server port="&amp;lt;span style="></server>8007" shutdown="SHUTDOWN" debug="0"><o:p></o:p>

<connector port="&amp;lt;span style="></connector>8082"<o:p></o:p>

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<o:p></o:p>

               enableLookups="false" redirectPort="8080" acceptCount="100"<o:p></o:p>

               debug="0" connectionTimeout="20000" <o:p></o:p>

               disableUploadTimeout="true" /><o:p></o:p>

E、编辑.\casclient1\webapps\servlets-examples\WEB-INF目录下web.xml文件并保存。<o:p></o:p>

加入如下片段,重点注意红色字体部分。<o:p></o:p>

<filter></filter>   <o:p></o:p>

    <filter-name></filter-name>CASFilter   <o:p></o:p>

    <filter-class></filter-class>edu.yale.its.tp.cas.client.filter.CASFilter   <o:p></o:p>

    <init-param></init-param>   <o:p></o:p>

        <param-name></param-name> edu.yale.its.tp.cas.client.filter.loginUrl   <o:p></o:p>

        <param-value></param-value> https://localhost:8443/cas/login   <o:p></o:p>

       <o:p></o:p>

    <init-param></init-param>   <o:p></o:p>

        <param-name></param-name> edu.yale.its.tp.cas.client.filter.validateUrl   <o:p></o:p>

        <param-value></param-value> https://localhost:8443/cas/proxyValidate   <o:p></o:p>

       <o:p></o:p>

    <init-param></init-param>   <o:p></o:p>

        <param-name></param-name> edu.yale.its.tp.cas.client.filter.serverName   <o:p></o:p>

         <param-value></param-value> localhost:8082   <o:p></o:p>

       <o:p></o:p>

   <o:p></o:p>

<filter-mapping></filter-mapping>   <o:p></o:p>

    <filter-name></filter-name>CASFilter   <o:p></o:p>

    <url-pattern></url-pattern>/servlet/*   <o:p></o:p>

<o:p></o:p>

<o:p> </o:p>

casclient.jar拷贝至.\casclient1\webapps\servlets-examples\WEB-INF\lib目录下。至此,cas客户端1部署完毕。启动cas客户1服务器,访问http://localhost:8082/servlets-examples/servlet/HelloWorldExample正常情况会弹出安全警报,点击确认后转向servlets-examples应用的HelloWorld页面(此时由于cas客户服务器已经登录,因此访问servlets-examples时无需再进行登录)。<o:p></o:p>

cas服务器、客户端部署完成后即可实现统一认证服务。案例中把登录认证部分的逻辑从jsp-examplesservlets-examples应用(此应用系统并无登录逻辑,在实际应用中需修改相应的登录验证逻辑)中剥离,交由cas认证服务器完成。<o:p></o:p>

以上配置在windows XP professional上测试通过。

<o:p></o:p>

分享到:
评论
3 楼 loulis 2007-12-01  
受教了。
为什么要将 redirectPort="8080“这样设定?在CAS中起什么作用,,网上查了一下,其本意是:
redirectPort    指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 

为什么不是8433?
多谢!
2 楼 dihin 2007-06-17  
配置客户端到服务端的双向ssl,保证安全传输
1 楼 lyo 2007-06-17  
谁知道这种基于 CAS的单点登陆为什么需要证书呢? 不是验证一下用户名 密码就可以了么,和证书有什么关系?

相关推荐

    Yale CAS Server的部署及cas-java-client 3.2的应用

    这篇文章将详细介绍如何部署Yale CAS Server以及如何在Java应用中使用cas-java-client 3.2进行集成。 首先,我们需要了解Yale CAS Server的部署过程。这通常包括以下几个步骤: 1. **环境准备**:确保你有一个适合...

    在Tomcat中使用Yale CAS实现单点登陆(SSO)

    总的来说,通过在Tomcat服务器上部署Yale CAS,并进行相应的SSL配置,可以为多个Web应用提供安全、便捷的单点登录体验。这个过程涉及到了Web容器的管理、SSL证书的生成和配置,以及客户端过滤器的设定,是实现SSO的...

    Yale CAS最佳实践.rar

    本篇将详细探讨Yale CAS的最佳实践,包括环境准备、Java环境的SSL配置、证书验证、Tomcat服务器的配置以及针对Tomcat JMX Bug的解决方案。** ### 一、环境准备 在开始配置Yale CAS之前,确保你有以下基础环境: 1. ...

    耶鲁CasServer单点登录教程

    通过以上步骤,可以成功地部署和配置Yale CAS以实现单点登录功能。这个过程涉及到服务器配置、安全协议设置、数据库集成以及客户端应用的改造,确保了整个SSO系统的安全性和可靠性。在实际应用中,还需要考虑错误...

    Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc

    Weblogic 使用 YALE CAS 实现 SSO 单点登录的方法 一、Yale CAS 简介 Yale CAS 是耶鲁大学开发的一种开源的单点登录(SSO)解决方案,提供了一个通用的身份验证框架,允许用户使用单个身份验证来访问多个应用程序。...

    使用CAS在Tomcat中实现单点登录

    然后,CAS Server作为Java Web应用部署在Tomcat上,通常需要根据具体需求扩展用户验证接口,以适应不同组织的认证策略。 部署CAS Server的步骤包括: 1. 配置Tomcat使用HTTPS,这涉及到生成SSL证书和修改Tomcat的`...

    使用 CAS 在 Tomcat6 中实现单点登录

    总结来说,实现使用CAS在Tomcat6中进行单点登录,需要理解SSO的基本概念,熟悉CAS的工作原理和协议流程,掌握CAS Server的部署和配置,以及CAS Client在Tomcat中的集成。通过这些步骤,可以构建一个安全且方便的单点...

    tomcat cas 单点登陆

    - **部署CAS.war文件**:将CAS服务部署到Tomcat中。 - 解压`cas-server-3.0.6.zip`包,将其中的`cas.war`文件复制到Tomcat的`webapps`目录下。 ##### 4. 配置Tomcat - **启用HTTPS**:编辑Tomcat的`conf/server....

    CAS单点登录 for Tomcat

    CAS(Central Authentication Service...总的来说,这些文档提供了全面的指导,帮助开发者在Linux上的Tomcat环境中实现CAS单点登录,涵盖了从基础理论到具体实践的各个层面,对于理解SSO机制和实际操作具有很大的价值。

    cas3.5.2单点登录文档详细配置

    【CAS实践配置】 在实际配置中,例如使用Tomcat 6.0,需要分别部署CAS Server和CAS Client。这通常涉及到以下步骤: 1. 下载并解压cas-server-3.5.2和cas-client-3.2.1。 2. 配置CAS Server,包括修改配置文件、...

    CAS单点登录服务端部署包

    CAS 是 Central Authentication Service 的缩写 —— 中央认证服务,一种独立开放指令协议,是 Yale 大学发起的一个企业级开源项目,旨在为 Web 应用系统提供一种可靠的 SSO 解决方案。 CAS 支持以下特性: CAS v1, ...

    CAS 开发综合笔记

    "Yale CAS最佳实践 --全部 - SOA - Java - JavaEye论坛.mht"提供了Yale大学关于CAS部署和管理的最佳实践,涵盖了安全、性能优化和故障排查等方面,对实际操作具有指导意义。 7. **取消HTTPS认证**: 在某些场景下...

    耶鲁大学单点CAS服务器

    该资源不仅提供部署在Tomcat服务器上的cas.war包(解压缩后在webapps目录下),而且创建Mysql数据源,完成用户表中用户信息的认证。 deployerConfigContext.xml中创建MySql数据源如下: &lt;value&gt;...

    实现SSO的CAS开源框架介绍

    - 灵活的部署方式:CAS可以部署在各种Web服务器上,如Tomcat等。 #### CAS 的部署步骤详解 为了更好地理解CAS的工作流程和具体实施步骤,以下将详细介绍如何搭建一套简单的CAS环境: 1. **下载CAS Server与Client...

    WAS与CAS配置

    1. CAS服务器搭建:将CAS服务器部署在Tomcat服务器上是实现这一整合的第一步。具体的搭建步骤包括下载并部署Tomcat服务器,确认安装成功后进行配置以使用SSL(安全套接字层),以确保通信的安全性。然后,下载CAS...

    CAS实现单点登录.pdf

    4. 部署CAS Server:将CAS Server作为一个普通的Java Web应用部署到Tomcat上,但需注意,由于涉及SSL,所以配置文件需要相应调整。 5. 自定义认证:根据实际需求扩展CAS Server的用户验证接口,以匹配组织的用户认证...

Global site tag (gtag.js) - Google Analytics