`
pavel
  • 浏览: 914533 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

一.环境

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)        安装完jdkjre后,需要配置JAVA_HOMEPATH=%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文件,拷贝到<JAVA_HOME>\jre\lib\security目录下

 

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

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

<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"

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文件,加入以下配置信息

                     <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-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 class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注释掉该行,在其下加入:

<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
                            <property name="sql" value="select password from
app_user
where username=?" />
                            <property name="dataSource" ref="dataSource" />

                    
</bean>
并添加一个bean
    <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>test</value></property>
       <property name="password"><value>test</value></property>
    </bean>
拷贝cas-server-jdbc-3.0.6.jarmysql-connector-java-3.1.11-bin.jarwebapps/cas/WEB-INF/lib下。

分享到:
评论

相关推荐

    单点登录cas源码

    单点登录cas源码

    CAS单点登录(java)

    CAS单点登录CAS单点登录CAS单点登录CAS单点登录

    单点登录CAS方案

    单点登录CAS方案,同时提供CAS+HTTP+Oracle和CAS+HTTPS+Oracle两种方案,亲自测试OK,客户端修改方案自行百度,太简单

    CAS单点登录操作文档

    CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: • 开源的企业级单点登录解决方案。 • CAS Server ...

    CAS单点登录(SSO)教程

    CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。

    cas 单点登录 解决方案.

    cas 单点登录 解决方案.

    单点登录服务端项目cas-server

    单点登录服务端项目cas-server单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-...

    Java进阶SSO单点登录技术CAS-快速上手与原理探究视频教程

    本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    [置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析 http://blog.csdn.net/ae6623/article/details/8848107 目 录 1 引言 4 1.1 摘要 4 1.2 范围 4 1.3 读者对象 4 1.4 关键词 4 2 ...

    cas客户端集成单点登录代码

    cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码

    基于Java集成CAS单点登录【接部署即可启用】

    基于Java中CAS的单点登录,有服务端的所有源码,将tomcat目录下的所有资源直接拷到Tomcat服务中间件的webapp目录下,阅读tomcat-webapp中的read.txt文档,查看使用说明,适用于第一次开发CAS单点登录的同学们,简单...

    实现单点登录使用的CAS构建的war

    github上下载的CAS项目不想自己重新构建的,可以直接下载我构建好的这个war来使用,做单点登录CAS必须使用到cas项目发布服务中心。我在分享单点登录的文章的时候需要用到这个文件所以进行了上传,。拿来直接解压就...

    禅道开源版集成CAS单点登录

    本文在已有的禅道集成CAS单点登录的客户端插件基础上进行的修改,因原有插件在我们的系统上调试无法成功,做了一些定制,环境如下: 1. CAS server 版本:4.0.0 2. 禅道开源版本: 9.6.3 3. 禅道CAS client 插件版本...

    cas单点登录技术

    1 单点登录总体解决方案 2 CAS原理和协议 3 CAS安全性 4 CAS工作模式 5 系统设计方案 6 CAS关键技术 6.1 域名规范 6.2 中文用户登录提交时乱码 ...7 单点登录风险 ...9.3 TOMCAT中使用CAS实现单点登录LDAP方式

    cas .net单点登录

    cas 。net单点登录demo cas 。net单点登录demo cas 。net单点登录demo

    集成cas实现单点登录认证.zip

    集成cas实现单点登录认证.zip

    用cas实现mantis单点登录和登出

    用cas实现mantis单点登录和登出,详细讲了mantis的程序修改用cas实现SSO,已经在实际中应用,非常有帮助

    java-cas单点登录服务端

    CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,研究如何采用 CAS 实现轻量级单点登录解决方案。 CAS 是 Yale 大学发起的...

    单点登录sso-shiro-cas-maven

    spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...

Global site tag (gtag.js) - Google Analytics