速动画教程第二十九集 单点登录CAS的使用方法

来源:百度文库 编辑:神马文学网 时间:2024/04/26 06:21:18

速动画教程第二十九集

单点登录CAS的使用方法


  下载地址: http://www.oksonic.cn

一.环境

a)         Windows 2003 sp1

b)        JDK1.5.0_11

c)        Tomcat 5.5.23

d)        MySql5.0

二.准备

a)         cas-server-3.0.6.zip 下载地址:http://www.ja-sig.org/products/cas/index.html

b)        cas-client-java-2.1.1.zip 下载地址:同上

c)        安装完jdk和jre后,需要配置JAVA_HOME和PATH=%JAVA_HOME%\bin

三.步骤

a)        配置Tomcat使用SSL安全认证

                         i.              使用命令提示符进入到Tomcat安装目录

                       ii.              生成服务端密匙,执行以下命令

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

例:keytool -genkey -alias casserver -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore

运行后出现提示信息:

输入keystore密码:changeit      这里也填入主机名

您的名字与姓氏是什么?

 [Unknown]: localhost           这里一定要填写正确的主机名

您的组织单位名称是什么?

 [Unknown]: oksonic

您的组织名称是什么?

 [Unknown]: oksonic

您所在的城市或区域名称是什么?

 [Unknown]: kunming

您所在的州或省份名称是什么?

 [Unknown]: yunnan

该单位的两字母国家代码是什么

 [Unknown]: cn

CN=localhost, OU=oksonic, O=oksonic, L=kunming, ST=yunnan, C=cn 正确吗?

 [否]: y

完成后会在Tomcat目录生成一个名为casserver的文件

                      iii.              生成服务端证书,执行以下命令

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

                            命令执行后生成一个server.cer的证书文件

 

                     iv.              生成客户端密匙,执行以下命令

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

                       v.              生成客户端证书,执行以下命令

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

                            命令执行后生成一个server.cer的证书文件

                     vi.              导入证书文件到cacerts 文件中,执行以下命令

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

 

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

                            把cacerts文件,拷贝到\jre\lib\security目录下

 

                    vii.              拷贝cas-server-3.0.6.zip包内的target目录下的cas.war文件到Tomcat目录下的webapps目录下

                  viii.              修改Tomcat的配置文件server.xml把以下补注释的内容打开

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

               enableLookups="false" disableUploadTimeout="true"

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

               clientAuth="false" sslProtocol="TLS" />

加入红字部份后的内容如下:

        

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

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

               enableLookups="false" disableUploadTimeout="true"

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

               clientAuth="false" sslProtocol="TLS" />

 

b)        配置客户端应用

                         i.              使用Tomcat的例子jsp-examples来做客户端

                       ii.              打开项目中的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:8080
                      

             

             
              CASFilter
                     / *
               

 

              拷贝cas-client-java-2.1.1.zip包中的casclient.jar到项目的lib目录下

 

              现在可以启动Tomcat来测试一下是否能够进入到登录页

c)         配置CAS使用数据库进行验证

                         i.              在MySql中的Test库中新建app_user表

       CREATE TABLE `app_user` (
                  `username` varchar(30) NOT NULL default ‘‘,
                  `password` varchar(45) NOT NULL default ‘‘,
                  PRIMARY KEY  (`username`)
         ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
添加以下用户:
         INSERT INTO `app_user` (`username`,`password`) VALUES

                    (‘oksonic‘,‘oksonic‘),

                    (‘oksonic1‘,‘oksonic1‘);

 

                      ii.              修改cas项目中的deployerConfigContext.xml文件


注释掉该行,在其下加入:

                           
                           
                    

并添加一个bean:
   
       com.mysql.jdbc.Driver
       jdbc:mysql://localhost:3306/test
       test
       test
   

拷贝cas-server-jdbc-3.0.6.jar和mysql-connector-java-3.1.11-bin.jar到webapps/cas/WEB-INF/lib下