`
hewei0212
  • 浏览: 16688 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

CAS 配置(转)

    博客分类:
  • java
 
阅读更多

CAS官网地址:http://www.jasig.org/cas

    CAS服务端下载地址:http://www.ja-sig.org/downloads/cas/

    CAS客户端下载地址:http://www.ja-sig.org/downloads/cas-clients/

   准备工作

      1. 环境:Windows XP 、JDK1.5 、Tomcat6.0

      2. 所需的包:commons-pool-1.5.4.jar

                         commons-dbcp-1.2.2.jar

                         commons-collections-3.2.jar

                         cas-server-support-jdbc-3.1.1.jar

                         数据库驱动包

   配置SSL

   使用命令提示符进入到Tomcat安装目录 :
   1. 生成服务端密匙,执行以下命令
         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
       运行后出现提示信息:
       您的名字与姓氏是什么?
       [Unknown]: localhost         // 这里一定要填写正确的主机名
       您的组织单位名称是什么?
       [Unknown]: test
       您的组织名称是什么?
       [Unknown]: test
       您所在的城市或区域名称是什么?
       [Unknown]:beijing
       您所在的州或省份名称是什么?
       [Unknown]:beijing
       该单位的两字母国家代码是什么
       [Unknown]: cn
       CN=localhost, OU=oksonic, O=oksonic, L=kunming, ST=yunnan, C=cn 正确吗? Y
       完成后会在Tomcat目录生成一个名为server.keystore的文件


   2. 生成服务端证书,执行以下命令
       keytool -export -alias casserver -storepass changeit -file server.cer  -keystore server.keystore
       命令执行后生成一个server.cer的证书文件


   3. 生成客户端密匙,执行以下命令
       keytool -genkey -alias casclient -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore

   4. 生成客户端证书,执行以下命令
       keytool -export -alias casclient -storepass changeit -file client.cer  -keystore client.keystore
       命令执行后生成一个server.cer的证书文件


   5. 导入证书文件到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目录下

   6. 修改Tomcat的配置文件server.xml把以下补注释的内容打开并添加红色部分
      <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               keystoreFile="/server.keystore" keystorePass="changeit"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

   CAS部属

   1.  将cas-server-3.3.5/modules/包内cas-server-webapp-3.3.5.war改名为cas.war并拷贝到Tomcat目录下的webapps目录下

   2.  启动Tomcat,访问https://localhost:8443/cas,如果能出现正常的 CAS 登录页面,则说明 CAS Server 已经部署成功

   3.  如果需要连接数据库来登录还需要配置 deployerConfigContext.xml文件

        将<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

        注释后添加:

       <bean id="SearchModeSearchDatabaseAuthenticationHandler"
                  class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"
                  abstract="false" lazy-init="default"  autowire="default" dependency-check="default">
                  <property name="tableUsers">
                   <value>table_name</value>
                  </property>
                  <property name="fieldUser">
                   <value>username</value>
                  </property>
                  <property name="fieldPassword">
                   <value>password</value>
                  </property>
                  <property name="dataSource" ref="casDataSource" />
         </bean>

       然后配置数据库,在外面添加一个bean ,内容如下:

       <bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
           <property name="driverClassName">
                <value>oracle.jdbc.driver.OracleDriver</value>
           </property>
           <property name="url">
                 <value>jdbc:oracle:thin:@192.168.1.52:1521:dbname</value>
           </property>
           <property name="username">
                 <value>name</value>
           </property>
           <property name="password">
                 <value>password</value>
           </property>
       </bean>

   部属客户端应用

   1. 与CAS SERVER建立信任关系

       假设 CAS Server 单独部署在一台机器 A,而客户端应用部署在机器 B 上,由于客户端应用与 CAS Server 的通信采用 SSL,因此,需要在

       A 与 B 的 JRE 之间建立信任关系。首先与 A 机器一样,要生成 B 机器上的证书,配置 Tomcat 的 SSL 协议。其次下载

       http://blogs.sun.com/andreas/entry/no_more_unable_to_find 的 InstallCert.java,运行“ java InstallCert compA:8443 ”命

       令,并且在接下来出现的询问中输入 1。这样,就将 A 添加到了 B 的 trust store 中。如果多个客户端应用分别部署在不同机器上,那么每

       个机器都需要与 CAS Server 所在机器建立信任关系

   2. 依赖包部属

       a. 将在准备工作中下载的三个包放到 $Tomcat_Home/webapps/cas/WEB-INF/lib目录下

       b. 将casclient-2.1.1.jar、cas-client-core-3.1.9.jar(用于单点退出)放到你的应用lib下,如 client_1/WEB-INF/lib目录下

   3. web.xml配置

    <!--单点退出配置-->

     <filter>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>   


    <!--单点登录配置--> 

    <filter-mapping>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <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://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/serviceValidate</param-value>
        </init-param>
        <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
          <param-value>localhost:8081</param-value>
        </init-param>   
    </filter>

    <!--退出要放在登录配置前--> 
    <filter-mapping>
      <filter-name>CAS Single Sign Out Filter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
   
    <filter-mapping>
      <filter-name>CAS Filter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
   
    <listener>
       <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

   4.  测试登录

     a. 登录client_1,输入正确的用户名密码登录成功

     b. 在访问client_2,不用再登录

   5.  测试退出

     a. 访问https://localhost:8443/cas/logout就退出了

     b. 再访问client_2或clinet_1需要登录

   注意:退出一定要用https, 用 http 是不行的。

  参考文献:

  http://blog.csdn.net/DL88250/archive/2008/08/20/2799522.aspx

  http://ssh-2009-126-com.javaeye.com/blog/562111

分享到:
评论

相关推荐

    spring security 结合cas配置

    spring security 结合cas 单点登录系统 cas客户端的配置文件

    cas配置实现sso登录

    在这个场景中,我们将探讨如何使用CAS配置来实现单点登录。 首先,我们需要理解CAS服务器的角色。CAS服务器作为认证中心,负责验证用户的身份。当用户尝试访问受保护的资源时,他们会被重定向到CAS服务器进行登录。...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置示例,适用于需要构建安全认证系统的IT专业人员。以下是对压缩包中内容的详细解释: 1. **CAS服务器端自定义认证**: CAS服务端的核心功能在于验证...

    CAS Server全部配置详解

    CAS Server全部配置详解

    H3C CAS云计算最佳实践和配置指导手册汇总集.rar

    02 H3C CAS-云容器引擎配置指导 03 H3C CAS 虚拟机快照配置指导 04 H3C CAS-虚拟机防病毒配置指导 05 H3C CAS SR-IOV配置指导 06 H3C CAS vGPU热迁移配置指导 07 H3C CAS 内存管理最佳实践 08 H3C CAS 磁盘...

    关于cas安装和配置

    CAS 安装和配置的关键在于正确配置 CAS Server 和客户端应用,确保服务器能够正确处理认证请求,客户端应用能够识别并响应 CAS Server 的认证结果。通过这种方式,你可以构建一个安全、高效的单点登录系统,提升用户...

    WAS与CAS配置

    在IBM WebSphere Application Server(WAS)环境中配置与Central Authentication Service(CAS)实现单点登录(SSO)是一个涉及多个组件和步骤的过程。首先需要了解的是,WAS是一个广泛应用于IBM Tivoli软件产品中的...

    cas客户端登陆配置文档

    本配置文档将深入探讨如何配置CAS客户端以实现自定义登录和与服务端统一登录的功能。 首先,我们需要理解CAS的基本工作流程:用户尝试访问受保护的应用,被重定向到CAS服务器进行身份验证,成功后返回一个票据...

    Liferay5.2.3和CAS配置成SSO

    本案例中,我们将探讨如何将Liferay 5.2.3与CAS(Central Authentication Service)配置为SSO系统。 Liferay是一款开源的企业级门户平台,它提供了一个灵活的框架来构建和管理Web应用程序。而CAS则是一个开源的身份...

    CAS原理和配置过程

    下面将详细介绍CAS的工作原理、核心概念以及配置流程。 #### 一、CAS工作原理 CAS的核心机制基于以下三个概念: - **TGT (Ticket-Granting Ticket)**:由CAS服务器端产生的授权令牌,用于后续服务间的验证。 - **...

    CAS示例环境部署及配置

    2. **配置 CAS 验证**:在客户端应用的配置文件中,设置 CAS Server 的地址、服务验证 URL 和登出 URL。 3. **测试 SSO 功能**:确保在同一个浏览器会话中,访问 app1 和 app2 不需要再次登录,且可以获取登录用户...

    VMware虚拟机转换华三CAS虚拟机配置方法

    在配置新虚拟机时,内存和CPU的大小应与原VMware虚拟机相同,以保持一致性。在磁盘选项中,选择“镜像文件”,浏览并选择刚刚转换的.qcow2文件作为虚拟机的系统盘。 至此,整个转换流程结束。一旦虚拟机创建完成,...

    CAS配置全攻略

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign...通过本文的介绍,你应该对CAS配置有了全面的认识,接下来就是实践操作,让CAS在你的项目中发挥安全保障的作用。

    liferay + cas + ldap 集成配置

    标题 "Liferay + CAS + LDAP 集成配置" 涉及到的是在企业级内容管理系统 Liferay 中集成 Central Authentication Service (CAS) 和 Lightweight Directory Access Protocol (LDAP) 的过程。这种集成允许用户通过CAS...

    我的CAS配置及测试过程

    在提供的压缩包中,包含了"我的CAS配置测试流程"文档,详细记录了配置和测试的每一步,包括可能遇到的问题和解决方案。这个文档对于初学者来说是一份宝贵的参考资料,避免了在网上搜索和尝试过程中可能遇到的困扰。 ...

    cas-server 配置mysql数据源

    本文将深入探讨如何在CAS Server 4.0.0版本中配置MySQL数据库作为其数据源。 首先,我们需要理解数据源在CAS中的作用。数据源是存储和管理应用程序所需数据的连接池,这里是指用于存储CAS服务器元数据和认证信息的...

    weblogic CAS配置部署

    "Weblogic CAS配置部署" 本文将详细介绍Weblogic下的CAS配置部署,实现单点登录。客户端配置是关键的一步,需要正确地配置证书信任库。 一、IDS采用的HTTPS(SSL)第三方系统中间件证书信任添加解决方案 在Web...

    单点登录cas的配置过程

    ### 单点登录CAS的配置过程详解 #### 一、引言 单点登录(Single Sign-On, SSO)是一种身份验证机制,允许用户通过一次登录即可访问多个应用系统而无需再次登录。CAS (Central Authentication Service) 是一种开源的...

    CAS单点登录配置步骤说明书

    ### CAS单点登录配置步骤详解 #### 一、配置SSL **1.1 生成证书** 首先,为了确保数据传输的安全性,我们需要配置SSL。在配置SSL的过程中,第一步是生成证书。这一步骤可以通过Java提供的`keytool.exe`工具来完成...

    CAS Service 5.2.x 数据库连接REST已经配置

    在这个场景中,我们关注的是CAS Service 5.2.x 版本与MySQL数据库的集成,特别是通过REST接口来配置数据库连接。 首先,我们需要理解CAS的架构。CAS Server是核心组件,负责处理用户的认证请求,验证凭证,并向服务...

Global site tag (gtag.js) - Google Analytics