码迷,mamicode.com
首页 > 其他好文 > 详细

cas + tomcat 配置步骤详细笔记(一)

时间:2015-04-15 17:16:30      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:cas   tomcat   应用服务器   服务器   sso   

     首先需要准备资源如下:

                cas-server-4.0.0-release.zip,cas-client-2.0.11.zip,apache-tomcat-6.0.29

     下面操作在dos下操作(“开始 -> 运行",输入“cmd”),部署cas服务器端的ssl生成

     1、生成服务端库文件(您的名字与姓氏是什么?这里需填写你的计算机名,我的计算机名是zk)

       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、导入服务器端证书

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

  6、导入客户端证书

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

  具体操作流程如下图:

   技术分享

  技术分享

  7、将如上生成得cacerts, server.keystore ,client.keystore ,server.cer, client.cer5个文件(在C盘根目录)分别拷贝到cas所在服务器、应用服务器(子系统)和JAVA_HOME/jre/lib/security文件下(我的路径是:C:\Program Files\Java\jdk1.6.0_14\jre\lib\security)。(每个子系统的tomcat都要拷贝)

   cas所在服务器拷贝文件后如下图:

  技术分享


  8、解压下载的cas-server-4.0.0-release.zip包,在cas-server-4.0.0\modules文件加下找到cas-server-webapp-4.0.0.war包,把该包拷贝到tomcat服务器D:\apache-tomcat-6.0.29\webapps下,tomcat启动时会自动解压。进入该tomcat的D:\apache-tomcat-6.0.29\conf目录下找到server.xml,修改文件把一下内容添加到server.xml中

<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:/apache-tomcat-6.0.29/server.keystore"    
           keystorePass="changeit"/>  

具体的放置位置如下图:

技术分享


  9、启动tomcat服务器,在浏览器中运行https://zk:8443/cas/login,会出现如下页面证明cas服务端配置成功

技术分享

   在该页面输入用户名和密码:casuser/Mellon(cas老版本是用户名和密码相同就可以登录,但是新版本cas4.0必须输入前面用户名和密码),然后点击登录会到登录成功页面

技术分享


输入路径:https://zk:8443/cas/logout成功退出

 技术分享

10、配置子系统的tomcat环境,需要把上面的生成的5个文件拷贝到tomcat中,然后配置web.xml,因为我测试是在自己同一台电脑上,所以我就用了同一个Tomcat。我们测试使用的tomcat自带的例子,启动服务器在浏览器中输入地址:http://localhost:8080/examples/servlets/servlet/HelloWorldExample,会见到下图:

技术分享



然后我们开始配置D:\apache-tomcat-6.0.29\webapps\examples\WEB-INF路径下web.xml(如果你是在不同tomcat中测试就到子系统所在的tomcat对应路径下修改它的web.xml),在web.xml中加入如下内容:

<filter> 
<filter-name>CAS Filter</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://zk:8443/cas/login</param-value> 
</init-param> 
<init-param> 
  <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> 
  <param-value>https://zk:8443/cas/serviceValidate</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>CAS Filter</filter-name> 
<url-pattern>/servlets/servlet/HelloWorldExample</url-pattern> 
</filter-mapping>
解压cas-client-2.0.11.zip包,在cas-client-2.0.11\java\lib下找到casclient.jar,拷贝到D:\apache-tomcat-6.0.29\webapps\examples\WEB-INF\lib文件夹下(如果你是在不同tomcat中测试就拷贝到子系统所在的tomcat对应路径下)。

10、重新启动服务器,在浏览器中输入同第10步中的路径:http://localhost:8080/examples/servlets/servlet/HelloWorldExample,会看到如下图所示:

技术分享

点击仍然继续看到如下图:

技术分享

可以看到请求已被成功拦截到,然后输入用户名和密码:casuser/Mellon登录,会看到如下图:

技术分享

成功登录!

可以看到上图浏览器地址栏中的路径与第10步浏览器中的路径明显不同,多了cas的安全证书。

到此文章已结束,一个简单的cas单点登录已完成,随着继续深入学习,会继续写cas学习笔记



                

cas + tomcat 配置步骤详细笔记(一)

标签:cas   tomcat   应用服务器   服务器   sso   

原文地址:http://blog.csdn.net/jinrizk/article/details/45059341

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!