`
yupengcc
  • 浏览: 138900 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

tomcat sso 配置

阅读更多
源: http://www.oecp.cn/hi/single/blog/349

为了实现单点登录,做了个CAS SSO单点登录实例,经过反复的琢磨和修改终于成功了,现将CAS SSO单点登录实例详细步骤共享出来,供大家参考。

首先要先下载
www.ja-sig.org/downloads/cas/cas-server-3.0.4.zip
www.ja-sig.org/downloads/cas-clients/cas-client-2.0.11.zip

CAS SSO单点登录实例详细步骤:

1、用keytool生成证书:
        keytool -genkey -alias tomcat -keyalg RSA -keystore c:/Tomcat5.5/mykey
说明:
    这里-alias tomcat 是表示生成的这个证书的别名叫tomcat,-keyalg RSA  指的是采用的RSA算法,-keystore c:/Tomcat5.5/mykey是指生成的证书存储的位置。回车后会提示你输入keystore password,这可以自己定(这里输入12456,下面配tomcat时要用的),然后是一些个人信息及组织信息,可以轻松搞定。
注意:密码输入后,会让你输入其他信息,记得这里第一个姓名必须是服务器的域名 由于我是在本机所以是localhost
这里要注意如果不这样写就会报如下异常:
java.io.IOException: HTTPS hostname wrong:  should be <localhost>

2、创建证书后,就导出证书,keytool -export -file c:\cas.cer -alias tomcat -keystore C:\Tomcat5.5\mykey(从C:\Tomcat5.5\mykey里取出证书入到C:\下,如果没有指定,就是在用下目录下C:\Documents and Settings\用户目录名\)

3、server.xml中添加的配置信息:
< Connector port="8443"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" debug="0" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="C:\tomcat\mykey(指生成的证书存储的位置)" keystorePass="123456"(上面你输入的那个密码) />

4、把上面那步的(csa.cer)这个证书导入java中的cacerts证书库里?
    开始 >> 运行 >> 输入cmd 进入dos命令行 >>
    再用cd进入到C:\Program Files\Java\jdk1.5.0_05\jre\lib\security这个目录下
    敲入如下命令回车执行
    keytool -import -alias cacerts -keystore cacerts -file C:\cas.cer -trustcacerts
    此时命令行会提示你输入cacerts证书库的密码,
    你敲入changeit就行了,这是java中cacerts证书库的默认密码,
    你自已也可以修改的。
如果报错信息是已经存在tomcat证书,就执行:
  keytool –delete –keystore cacerts
–file C:\cas.cer –alias -trustcacerts

5、重启Tomcat后在地址栏输入:https://localhost:8888 如果配置正确就搞定了,浏览显示的时候提示安装证书(你就选择安装上面导出的那个证书,也可从IE--工具--Internet首选项--内容--证书--然后按提示导入即可)。

 如果是IE的话,首先会弹出一个对话框,提示你证书不是由信任的机构颁发的。这个是很自然的,因为证书是自己生成的。

  单击“查看证书”,单击“安装证书”,在向导种选择“将所有的证书放在下面存储区”,然后单击“浏览”,选择“受信任的根证书颁发机构”。单击确定安装证书。这样IE以后就会认为证书是由受信任的机构颁发的。

  如果不想安装,也可以直接在对话框中单击“是”


6 部署CAS应用
  解压 cas-server-3.0.4.zip, 提取 \target\cas.war 文件,将 cas.war 文件复制到 TOMCAT 的安装路径 webapps 下,启动 TOMCAT ,检查 CAS 应用是否正常启动。

7.客户端配置
下载cas-client-2.0.11.zip
把 java/lib/casclient.jar考到 你所发布的webapp的WEB-INF/lib下
修改WEB-INF/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:8443</param-value>
        </init-param>
    </filter>
   
    <filter-mapping>
        <filter-name>CASFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

把里面的localhost换成域名
8443换成你所使用的端口


====================================
JDK中keytool常用命令
-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias       产生别名
-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg      指定密钥的算法  
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度
-storepass   指定密钥库的密码
-keypass     指定别名条目的密码
-dname       指定证书拥有者信息 例如:  "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list        显示密钥库中的证书信息      keytool -list -v -keystore sage -storepass ....
-v           显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件  keytool -export -alias caroot -file caroot.crt
-file        参数指定导出到文件的文件名
-delete      删除密钥库中某条目          keytool -delete -alias sage -keystore sage
-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage
-import      将已签名数字证书导入密钥库  keytool -import -alias sage -keystore sagely -file sagely.crt
             导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。

1.证书的显示
-list
[-v | -rfc] [-alias <alias>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>]
例如:keytool -list -v -alias RapaServer -keystore cacerts -storepass 12345678
keytool -list -v -keystore d2aapplet.keystore -storepass 12345678 -storetype IAIKKeystore

2.将证书导出到证书文件
例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer
将把证书库 monitor.keystore 中的别名为 monitor 的证书导出到 monitor.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
keytool -export -keystore d2aApplet.keystore -alias RapaServer -file Rapa.cert -storetype IAIKKeystore

3.将keystore导入证书中
这里向Java默认的证书 cacerts导入Rapa.cert
keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts

4.证书条目的删除
keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。

5.证书条目口令的修改
使用 -keypasswd 参数,如:keytool -keypasswd -alias RapaServer -keystore d2aApplet.keystore,可以以交互的方式修改 d2aApplet.keystore证书库中的条目为 RapaServer 的证书。
Keytool -keypasswd -alias RapaServer -keypass 654321 -new 123456 -storepass 888888 -keystore d2aApplet.keystore这一行命令以非交互式的方式修改库中别名为 RapaServer 的证书的密码为新密码 654321,行中的 123456 是指该条证书的原密码, 888888 是指证书库的密码。

CAS SSO单点登录实例就到这里了,希望对大家有帮助!
分享到:
评论

相关推荐

    tomcat配置ssl-单点登录(sso).rar

    标题中的“tomcat配置ssl-单点登录(sso)”指的是在Apache Tomcat服务器上配置SSL安全套接层,以及实现单点登录(Single Sign-On, SSO)功能。这是一个涉及网络安全和用户认证的重要主题,主要目标是提高Web应用的...

    tomcat配置单点登录

    总结来说,Tomcat实现单点登录SSO,主要通过配置合适的Realm,结合Cookie机制,实现用户身份在多个应用间的共享。同时,理解SSO的各种实现技术,如基于Cookie、Kerberos、SAML和CAS等,有助于选择最合适的SSO解决...

    基于Tomcat6的CAS SSO配置

    基于Tomcat6的CAS SSO配置涉及的主要知识点包括SSO(Single Sign-On,单点登录)、CAS(Central Authentication Service,中心认证服务)、SSL(Secure Socket Layer,安全套接层)以及Tomcat服务器的配置。...

    基于cas的sso 单点登录tomcat配置过程

    通过以上步骤,你将成功地在Tomcat上配置了一个基于CAS的SSO系统,实现了用户一次登录,多处通行的目标。不过需要注意的是,实际部署中可能还需要考虑安全性、性能优化以及与其他系统的集成等问题,因此在生产环境中...

    Tomcat SSL 配置

    这一步对于 Tomcat 的 SSL 配置不是必须的,但对于 CAS SSO 是必须的。否则将出现错误。 首先,需要导出证书: `keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -...

    CAS SSO配置文档

    CAS(Central Authentication Service,...综上所述,CAS SSO配置涉及到服务器和客户端两部分,需要对Tomcat、SSL证书管理、以及CAS客户端库有深入理解。在实际操作中,务必遵循最佳实践,确保系统的安全性和稳定性。

    SSO学习有CAS SSO配置.doc

    4. **客户端集成**:每个需要SSO功能的应用需要配置为CAS客户端,这通常涉及修改应用的配置文件,指示它们信任CAS服务器,并处理票证验证。 5. **信任关系建立**:在不同系统之间建立信任,确保CAS服务器能够验证...

    CAS之SSO配置手册

    总结,CAS SSO配置涉及CAS Server的部署、数据库连接的配置以及登录验证方式的设定。通过理解CAS的工作原理和配置步骤,你可以有效地在多个Web应用间实现统一的登录体验,提高用户体验的同时增强了系统的安全性。

    SSO配置和应用说明.pdf

    配置SSO的第一步是确保满足环境要求,这里提到的环境包括Java JDK 1.6.0_10-rc2和Tomcat 5.5.27。在安装JDK后,需要设置相应的环境变量,例如JAVA_HOME,以及内存分配参数。 接下来,部署CAS Server需要在与Servlet...

    CAS之SSO配置手册.docx

    《CAS之SSO配置手册》 CAS(Central Authentication Service)是一种广泛应用的开源单点登录(Single Sign-On,SSO)解决方案,由耶鲁大学发起,后来成为JA-SIG项目的一部分。它为企业级Web应用提供了安全可靠的...

    SSO配置和应用说明.docx

    本文将详细介绍如何配置和应用SSO,特别是基于CAS(Central Authentication Service)的解决方案。 CAS是Yale大学发起的一个开源项目,它为Web应用系统提供了一种安全可靠的单点登录解决方案。CAS包含两个主要组件...

    Tomcat中访问AD Server的配置方法

    一旦您已经生成了包含所有必需类的 JAR 文件(通常这些类位于 org.jaaslounge.sso.tomcat 包中),请将其复制到 Tomcat 安装目录下的 “server/lib” 文件夹中,并继续进行 Tomcat 的配置。 ##### 2. 编写 Kerberos...

    CAS之SSO配置手册.pdf

    配置完成后,重新启动Tomcat,CAS Server将使用新的配置进行用户验证。 总之,CAS通过提供统一的身份验证入口,简化了多应用系统的登录流程,增强了用户体验,同时也提高了安全性。配置CAS Server涉及到环境搭建、...

    使用CAS在Tomcat中实现单点登录参考代码及配置

    - **配置CASServer**:首先需要在Tomcat环境中部署CASServer。这通常涉及配置服务器的相关参数,比如数据库连接、安全设置等。 - **配置CASClient**:为了使Web应用能够与CASServer进行交互,需要在应用中添加CAS...

    domino_ldap.rar_AD联合验证_Domino_Tomcat_sso_domino_domino_ldap

    标题“domino_ldap.rar_AD联合验证_Domino_Tomcat_sso_domino_domino_ldap”涉及到的是一个关于Lotus Domino(Domino)与Active Directory(AD)进行联合身份验证(Single Sign-On, SSO)的解决方案。在这个场景中,...

    CAS之SSO配置手册.doc

    CAS(Central Authentication Service)是耶鲁大学发起的开源项目,专注于为Web应用系统提供单点登录(Single Sign-On, SSO)解决方案。它在2004年12月成为JA-SIG组织的一部分,现已成为广泛应用的开源SSO系统。CAS...

    跨域SSO实例安装和配置指南

    ### 跨域SSO实例安装和配置指南 #### 一、引言 本文档旨在为初次接触CAS(Central Authentication Service)系统的用户提供一个实际的操作指南,通过一个具体的跨域单点登录(Single Sign-On, SSO)示例来帮助读者...

    nginx+tomcat8.+redis__session__单点登录、会话共享.zip

    标题中的"nginx+tomcat8.+redis__session__单点登录、会话共享"涉及到的是在分布式系统中如何实现用户会话(Session)的共享和单点登录(Single Sign-On, SSO)的问题。这里主要涉及到三个核心组件:Nginx、Tomcat和...

    sso-casDemo

    SSO(Single Sign-On)是一种身份验证机制,允许用户在一个应用系统中登录后,无需再次认证即可访问其他关联的应用系统。CAS(Central ...同时,它也为有经验的开发者提供了快速验证和调试SSO配置的平台。

Global site tag (gtag.js) - Google Analytics