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

cas + tomcat整合SSO

    博客分类:
  • sso
阅读更多

最近学习了一下CAS SSO方面的东西,整合了CAS 在TOMCAT 下面运行。下面介绍整合步骤
1 下载服务端CAS运行WAR
http://www.jasig.org/cas/download/
下载cas-server-webapp-3.3.2.war
2 下载客户端JAR casclient-2.1.1.jar
http://mirrors.ibiblio.org/pub/mirrors/maven2/cas/casclient/2.1.1/casclient-2.1.1.jar
3.配置服务器端的数字证书
  1.生成数字证书
   keytool -genkey -alias zhouhui -keyalg RSA
  2.导出数字证书
   keytool -export -alias zhouhui -file server.crt
  3.将数字证书导入jre的可信区
   keytool -import -trustcacerts -alias zhouhui -file server.crt -keystore %java_home%/jre/lib/security/cacerts
  其他的一些命令:
    查看可信证书列表(检查证书是否加入成功)
    ./keytool -list -keystore ../jre/lib/security/cacerts
    常用命令:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore 别名 -storepass ....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 别名 -keystore sage
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 别名 -keypass .... -new .... -storepass ... -keystore 别名
-import 将已签名数字证书导入密钥库 keytool -import -alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)
  操作步骤说明:
   运行---CMD---DOS窗口
   找到JDK安装的路径下面如我的:D:\software\Java\jdk1.6.0_03
  到BIN 目录下会看到keytool.exe
  在BIN 目录下执行
    keytool -genkey -alias zhouhui -keyalg RSA
   生成数字证书
    其中alias 后面是数字证书别名 可以输入一个
   运行后,执行会提示你输入主机名或者域名作为证书名称(CN), 填写好后,后面运行的域名就是你填写的那个
如"tomcat" 那么之后你访问的时候就是http://tomcat:8081/examples/servlet/servlet/HelloWorldExample
   后面一路回车就好了,填写入密码changeit
  2.导出数字证书
    keytool -export -alias zhouhui -file server.crt
  3.将数字证书导入jre的可信区
   keytool -import -trustcacerts -alias zhouhui -file server.crt -keystore %java_home%/jre/lib/security/cacerts
   其中导入的cacerts 是你JDK 环境变量中填写的JDK
   如:D:\software\Java\jdk1.6.0_03\jre\lib\security 下面会有cacerts 改写
   同时C:\Documents and Settings\Administrator下会有个
   .keystore 隐藏文件生成
4.部署程序到TOMCAT
  1.讲解压的cas-server-webapp-3.3.2.war复制到tomcat的webapps
  2.配置TOMCAT 安全的https
    tomcat的conf目录下修改server.xml
    打开server.xml
    修改
Xml代码

  • Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"   
  •               maxThreads="150" scheme="https" secure="true"   
  •               clientAuth="false" sslProtocol="TLS"   
  •               keystoreFile="conf/.keystore"                          keystorePass="changeit"                             truststoreFile="D:\software\Java\jdk1.6.0_03\jre\lib\security\cacerts"   
  •               />      
    其中 keystoreFile="conf/.keystore" 是证书库
        keystorePass="changeit" 是证书密码
        truststoreFile="D:\software\Java\jdk1.6.0_03\jre\lib\security\cacerts"
        是Jre的可信区(是你运行的JDK运行的授信JDK,TOMCAT运行需要的JDK)
    3.将之前生成的证书库
      C:\Documents and Settings\Administrator\.keystore
      复制到TOMCAT conf目录下
    4.修改客户端测试代码
       修改tomcat 自带的例子webapps\examples
       1.复制之前下载的casclient-2.1.1.jar,commons-logging.jar(其他项目中找个一个日子JAR)复制到webapps\examples\lib下面
        2.修改 web.xml
        webapps\examples 下面修改WEB.XML
       
    Xml代码
  • filter>   
  • filter-name>CAS Filterfilter-name>   
  • filter-class>edu.yale.its.tp.cas.client.filter.CASFilterfilter-class>   
  • init-param>   
  •   param-name>edu.yale.its.tp.cas.client.filter.loginUrlparam-name>   
  •   param-value>https://tomcat :8443/cas-server-webapp-3.3.2/loginparam-value>   
  • init-param>   
  • init-param>   
  •   param-name>edu.yale.its.tp.cas.client.filter.validateUrlparam-name>   
  •   param-value>https://tomcat :8443/cas-server-webapp-3.3.2/serviceValidateparam-value>   
  • init-param>   
  • init-param>   
  •   param-name>edu.yale.its.tp.cas.client.filter.serverNameparam-name>   
  •   param-value>tomcat :8081param-value>   
  • init-param>   
  • filter>   
  • filter-mapping>   
  • filter-name>CAS Filterfilter-name>   
  • url-pattern>/servlets/servlet/HelloWorldExampleurl-pattern>   
  • filter-mapping>      
    CAS Filter
    edu.yale.its.tp.cas.client.filter.CASFilter

      edu.yale.its.tp.cas.client.filter.loginUrl
      https://tomcat :8443/cas-server-webapp-3.3.2/login


      edu.yale.its.tp.cas.client.filter.validateUrl
      https://tomcat :8443/cas-server-webapp-3.3.2/serviceValidate


      edu.yale.its.tp.cas.client.filter.serverName
      tomcat :8081



    CAS Filter
    /servlets/servlet/HelloWorldExample

      其中 tomcat 就是访问的域名
    5.修改HOST
       c:/windows/system32 下面修改HOSTS
       打开 添加
       127.0.0.1       tomcat
       说明 tomcat 就是之前生成数字证书,中填入的域名
    6.发布。
       启动tomcat
       运行
    http://tomcat:8081/examples/servlets/servlet/HelloWorldExample
    跳转服务端登录画面,输入用户名 密码跳转 HELLO WORLD 配置成功
  • 分享到:
    评论

    相关推荐

      cas tomcat整合单点登录demo

      【标题】"CAS Tomcat整合单点登录Demo"是一个示例项目,展示了如何将CAS(Central Authentication Service)与Tomcat应用程序服务器集成,实现单点登录(Single Sign-On, SSO)的功能。CAS是一种开放源码的身份验证...

      SSO单点登录Spring-Security+CAS+使用手册

      单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication ...

      前后端分离集成cas

      7. 在Vue前端实现CAS登录跳转逻辑,处理CAS服务返回的ticket,进行SSO验证。 8. 测试整个系统,确保登录、权限控制和SSO功能正常工作。 这个项目展示了如何将现代开发技术和安全性协议结合,构建一个完整的、具有单...

      cas-server-3.1.1-release.zip_CAS SSO_CAS-server_Cas Server RDBMS

      CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...

      CAS-Server-Client单点登录demo

      在这个"CAS-Server-Client单点登录demo"中,我们将深入探讨CAS服务器与客户端的整合以及如何在Apache Tomcat上进行测试。 首先,CAS服务器是整个SSO机制的核心,它负责处理用户的认证请求和验证用户的身份。在"cas-...

      sso-casDemo

      本示例"SSO-CASDemo"是一个简单的CAS整合演示,它包含三个Tomcat服务器实例,分别为app1、app2和CAS服务器。这些Tomcat实例分别部署了不同的应用,通过CAS进行统一的身份验证。这个demo是为了帮助开发者更好地理解和...

      acegi安全策略与CAS整合

      整合通常需要Java开发环境,Spring框架,以及支持的Web容器如Tomcat。同时,CAS服务器需要部署并配置好相应的认证策略。 1.3 下载资源: 用户需要下载AceGI安全框架的库,CAS服务器的安装包,以及可能需要的数据库...

      CAS和LDAP整合

      2. **安装CAS服务器**:下载并配置Tomcat CAS服务器,它是CAS服务的基础。确保安装了正确版本的JDK,并配置好相关的环境变量。 3. **CAS LDAP集成**:在CAS服务器的配置文件中,比如`cas.properties`,添加对LDAP...

      使用CAS整合CXF实现单点登录部署步骤

      本文将详细介绍如何使用CAS整合CXF,实现基于Tomcat服务器的单点登录部署步骤。 首先,我们需要在Tomcat服务器上部署CAS项目。这通常涉及以下步骤: 1. **下载CAS服务器**:从官方Git仓库或Maven仓库获取最新的CAS...

      Acegi Security整合CAS实例

      而CAS是由耶鲁大学开发的一个开源单点登录(Single Sign-On,SSO)解决方案,它允许用户通过一次登录即可访问多个应用。 ### 重要知识点解析: #### Acegi Security与CAS整合原理 在Acegi Security与CAS的整合中...

      shiro整合cas的实例

      CAS 提供了可配置的 WAR 文件,可以直接部署到像 Tomcat 这样的应用服务器上。 - 配置 CAS 服务器的主要文件是 `cas.properties`,在这个文件中你可以设置服务器的基本属性,如端口、数据库连接信息等。 - CAS ...

      SSO单点登录Spring-Security & CAS

      单点登录(Single Sign-On,简称 SSO)是一种流行的用于企业业务整合的解决方案,其核心优势在于简化了用户在多个互相信任的应用系统之间的身份验证流程。通过实现SSO,用户只需要进行一次身份验证即可访问所有相关...

      CAS整合OpenLDAP(OpenLDAP已配置好的情况)

      CAS(Central Authentication Service),由 Jasig 组织开发,是一个开源的、基于Java的Web应用,主要用于实现单点登录(Single Sign-On,SSO)。在许多组织中,为了统一管理和认证用户,通常会将CAS与LDAP服务器...

      Spring Seucrity整合CAS

      这里提到的基础是基于Tomcat6的CAS SSO配置。你需要查看相关文档来设置CAS服务器。 2. **集成所需库** 集成Spring Security与CAS需要一些特定的JAR文件,例如`aopalliance-1.0.jar`, `cas-client-core-3.1.3.jar`,...

      cas服务器war包(通过数据库认证)

      参考博主的博客《用CAS实现SSO(单点登录)+数据库读取》将为你提供更具体的步骤和指导,帮助你理解如何将这些组件整合起来,实现数据库驱动的CAS服务器SSO功能。这个过程可能涉及到一些安全注意事项,例如凭证存储...

      SpringBoot整合CAS文件资料

      SpringBoot整合CAS(Central Authentication Service)是将CAS服务器与基于Spring Boot的应用程序相结合,实现单点登录(Single Sign-On, SSO)的功能。SSO允许用户在一次登录后,能够访问多个相互信任的应用系统,...

      springsecurity整合cas全程

      ### Spring Security 整合 CAS 全程详解 #### 一、引言 ##### 1.1 概述 ###### 1.1.1 单点登录介绍 单点登录(Single Sign-On,简称 SSO)是一种流行的解决方案,用于简化用户在多个相互信任的应用系统之间的身份...

      WAS与CAS配置

      1. CAS服务器搭建:将CAS服务器部署在Tomcat服务器上是实现这一整合的第一步。具体的搭建步骤包括下载并部署Tomcat服务器,确认安装成功后进行配置以使用SSL(安全套接字层),以确保通信的安全性。然后,下载CAS...

      CAS4.1.4服务端和客户端实例

      这些文件通常会指导你如何将CAS认证整合到你的应用中,例如通过修改web.xml文件配置CAS过滤器,或者设置相应的URL以与CAS服务器通信。 "cas"目录很可能是服务端的组成部分,包含了CAS服务器的代码或配置。这部分...

      java-cas单点登录服务端

      单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 CAS(Central Authentication ...

    Global site tag (gtag.js) - Google Analytics