论坛首页 Java版 企业应用

Tomcat部署Yale CAS实践

浏览 2549 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-06-07 关键字: 单点登录 Yale CAS

 

一、资源版本:

Tomcat5.0.28

cas-server-3.0.7

cas-client-2.0.11

 

二、Tomcat部署环境:

casserver——cas服务器部署环境

casclient——cas客户机部署环境(发布jsp-examples

casclient1——cas客户机部署环境(发布servlets-examples

 

三、SSL文件准备:

server.keystore——服务器端库文件

client.keystore——客户端库文件

server.cer——服务器端证书(自制)

client.cer——客户端证书(自制)

cacerts——证书链

1、生成服务器端库文件

keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore

2、导出服务器端证书

keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore

 

3、生成客户端库文件

keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore

 

4、导出客户端证书

keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore

5、导入服务器端证书到cacerts

keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit

 

6、导入客户端证书到cacerts

keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit

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

四、Tomcatcas安装部署

1casserver配置

采用jakarta-tomcat-5.0.28.zip解压后默认配置,重点注意Server port="8005"

Connector port="8080" redirectPort="8443"cas客户端需改端口号)。

A 编辑.\casserver\conf目录下server.xml文件并保存。

找到如下片段,红色字体为新增内容。

   

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" disableUploadTimeout="true"

               acceptCount="100" debug="0" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"

               keystoreFile="/server.keystore" keystorePass="changeit"/>

 

B、拷贝cas.war.\casserver\webapps目录。

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

 

2casclient配置

jakarta-tomcat-5.0.28.zip解压后修改根目录名为casclient

A、编辑.\casclient\conf目录下server.xml文件并保存。

找到如下片段,红色字体为修改内容。

8006" shutdown="SHUTDOWN" debug="0">

8081"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8080" acceptCount="100"

               debug="0" connectionTimeout="20000"

               disableUploadTimeout="true" />

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

加入如下片段,重点注意红色字体部分。

  

    CASFilter  

    edu.yale.its.tp.cas.client.filter.CASFilter  

      

        edu.yale.its.tp.cas.client.filter.loginUrl  

        https://localhost:8443/cas/login  

      

      

        edu.yale.its.tp.cas.client.filter.validateUrl  

         https://localhost:8443/cas/proxyValidate  

      

      

        edu.yale.its.tp.cas.client.filter.serverName  

        localhost:8081  

      

  

  

    CASFilter  

    /*  

 

C、将casclient.jar拷贝至.\casclient\webapps\jsp-examples\WEB-INF\lib目录下。

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

 

3casclient1配置

jakarta-tomcat-5.0.28.zip解压后修改根目录名为casclient1

D、编辑.\casclient1\conf目录下server.xml文件并保存。

找到如下片段,红色字体为修改内容。

8007" shutdown="SHUTDOWN" debug="0">

8082"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8080" acceptCount="100"

               debug="0" connectionTimeout="20000"

               disableUploadTimeout="true" />

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

加入如下片段,重点注意红色字体部分。

  

    CASFilter  

    edu.yale.its.tp.cas.client.filter.CASFilter  

      

        edu.yale.its.tp.cas.client.filter.loginUrl  

        https://localhost:8443/cas/login  

      

      

        edu.yale.its.tp.cas.client.filter.validateUrl  

        https://localhost:8443/cas/proxyValidate  

      

      

        edu.yale.its.tp.cas.client.filter.serverName  

         localhost:8082  

      

  

  

    CASFilter  

    /servlet/*  

 

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时无需再进行登录)。

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

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

   
最后更新时间:2007-06-17
谁知道这种基于 CAS的单点登陆为什么需要证书呢? 不是验证一下用户名 密码就可以了么,和证书有什么关系?
   
0 请登录后投票
最后更新时间:2007-06-17
配置客户端到服务端的双向ssl,保证安全传输
   
0 请登录后投票
最后更新时间:2007-12-01
受教了。
为什么要将 redirectPort="8080“这样设定?在CAS中起什么作用,,网上查了一下,其本意是:
redirectPort    指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 

为什么不是8433?
多谢!
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐