其实网上这样的资料google一下一大把,本来是不想再做重复无谓的东西,但是实在是忍不住的发几句牢骚,写东西是给别人分享经验的,需要好好的去伪存真。软件在不断的升级,用法也会不断的改进,不要一直用老版本的方法在新版本上面使用,不但对别人帮助不大,反而会耽误时间,还不如直接去官网翻英文文档,即便是痛苦些,也比拿到过时的东西好呀,看看网上的实现大部分都是那个2.x和3.x的cas混用,但是这样自己不觉得不合理么,现在JASIG上面根本没有yelu的包,在配置客户端的时候还要配置yelu什么的,不说废话了,把新版本的用法贴出来,希望其他童靴不要再和俺一样走弯路。
生成证书:
1,生成数字证书
./keytool -genkey -alias examplecas -keypass changeit -keyalg RSA -keystore server.keystore
2,导出数字证书
./keytool -export -alias examplecas -keypass changeit -file server.crt -keystore server.keystore
3,将数字证书导入jre的可信区
./keytool -import -alias examplecas -file server.crt -keypass changeit -keystore ../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 后缀)
注意:
1,生成数字证书的时候必须使用主机名或者域名作为证书名称(CN),
例如sso.example.com(CN=sso.example.com, OU=example, O=example, L=beijing, ST=beijing, C=china)
2,检查JAVA_HOME环境变量(echo $JAVA_HOME),确认tomcat使用了那一个jre(有时候一台机器上会有
多个jre),需要将生成的证书文件导入至web服务器使用的那个jre的信任证书列表中,可以使用keytool -list
命令检查证书是否导入成功。
搭建环境:
服务器端:cas-server-webapp-3.4.2.war
客户端:cas-client-3.1.10(做简单的演示只需要modules下的cas-client-core-3.1.10.jar和commons- logging-1.1.jar就行了,不需要2.x下面的东西)
JDK:jdk1.6.0_10
tomcat:apache-tomcat-6.0.26
首先、如果启用https那么就先用keytool生成下证书,导入到tomcat所用的JDK证书中,这些资料很多就不做详细说明了,只把可能遇到的问题写下
1、keytool 不支持有空格的文件路径,特别是在导入证书的时候要注意
2、导入证书的时候密码是默认的changit而不是自己证书的密码
3、tomcat5.x和tomcat6.x启用SSL的方式不一样
6.x的方式(单项认证)
其次、搭建CAS服务器,这个没什么特别的东西,把war放到webapp中就行了
最后、客户端的搭建,
1、把cas-client-core-3.1.10.jar和commons-logging-1.1.jar放到应用系统的lib中。
2、在web.xml增加以下配置:
3、应用中得到通过CAS认证用户的方法
本文转自:http://utopiasky.javaeye.com/blog/709794
分享到:
相关推荐
### CAS SSO配置文档详解 #### 一、SSO实现原理与CAS的作用 单点登录(Single Sign-On,简称SSO)是一种用户身份验证机制,允许用户在一个安全领域内访问多个应用系统,而无需多次输入身份验证信息。在税务行业...
基于Tomcat6的CAS SSO配置涉及的主要知识点包括SSO(Single Sign-On,单点登录)、CAS(Central Authentication Service,中心认证服务)、SSL(Secure Socket Layer,安全套接层)以及Tomcat服务器的配置。...
CAS(Central Authentication Service,...综上所述,CAS SSO配置涉及到服务器和客户端两部分,需要对Tomcat、SSL证书管理、以及CAS客户端库有深入理解。在实际操作中,务必遵循最佳实践,确保系统的安全性和稳定性。
4. **客户端集成**:每个需要SSO功能的应用需要配置为CAS客户端,这通常涉及修改应用的配置文件,指示它们信任CAS服务器,并处理票证验证。 5. **信任关系建立**:在不同系统之间建立信任,确保CAS服务器能够验证...
总结,CAS SSO配置涉及CAS Server的部署、数据库连接的配置以及登录验证方式的设定。通过理解CAS的工作原理和配置步骤,你可以有效地在多个Web应用间实现统一的登录体验,提高用户体验的同时增强了系统的安全性。
`.net-casSSO-client.rar`提供的程序集`DoNetCasClient.dll`是一个预编译的库,可以直接集成到你的.NET项目中,简化了客户端的开发工作。这个库通常包含以下功能: 1. **登录验证**:客户端库会处理向CAS服务器发送...
9. **部署与配置**:CAS可以部署在多种环境中,如Tomcat、Jetty等Web服务器,配置通常涉及设置服务器端点、数据库连接、认证策略等。 10. **最佳实践**:在实施CAS时,应考虑最佳实践,如使用HTTPS、定期更新CAS...
SSO实例安装和配置指南PDF版 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。
本文将详细解析“CAS单点登录实例详细步骤”这一主题,通过分析给定文件的标题、描述、标签以及部分内容,提炼出关于CAS SSO配置的关键知识点。 #### 二、CAS单点登录基础知识 CAS的核心功能在于提供一种安全的...
在压缩包内的文件" CAS-SSO-TRIAL.doc"很可能是一个详细的文档,提供了关于如何设置和配置CAS服务器,以及如何在Java和.NET环境中实现SSO的步骤和指导。文档可能会涵盖以下关键知识点: 1. **CAS简介**:解释CAS的...
CAS(Central Authentication Service,中央认证服务)是Java社区开发的一个开源SSO解决方案,它为Web应用提供了统一的认证和授权服务。 CAS的核心概念包括以下几个部分: 1. **CAS服务器**:这是SSO的核心,负责...
使用Yale CAS SSO DotNet Client时,开发者需要配置CAS服务器的URL和其他相关设置。客户端库会处理与CAS服务器之间的通信,包括发送验证请求、解析返回的票证(ticket)以及验证票证的有效性。在用户成功验证后,...
整合Yale CAS SSO JAVA Client到Java应用中,开发者需要理解CAS的工作原理,包括Ticket Granting Ticket(TGT)和Service Ticket的概念,以及如何在应用程序中配置和调用CAS客户端库。同时,为了保证安全性,需要...
在这个“cas sso server page”主题下,我们将深入探讨CAS服务器的配置、工作原理以及如何设置和管理SSO。 1. CAS服务器简介: CAS服务器作为SSO的核心,负责处理用户的认证请求,并向各个应用系统提供验证票证...
例如,`定制CAS登录验证.pdf`文档可能详细介绍了如何调整CAS的配置,以支持本地数据库认证、LDAP、Active Directory或者其他外部认证源。此外,还可以自定义登录页面,以适应企业品牌和UI标准。 **CAS协议** CAS...
SSO(Single Sign-On)是一种身份验证机制,它允许用户在一个系统中登录后,无需再次认证即可...在实际操作中,应根据具体环境和需求详细阅读文档,遵循指导逐步配置,以实现安全、高效的Linux LDAP+CAS SSO解决方案。
总的来说,CAS SSO提供了灵活的配置和扩展性,可以根据实际需求调整服务器和客户端的配置,以实现安全、高效的单点登录解决方案。同时,它也允许开发者通过定制处理程序和解析器来获取并处理多样化的用户信息。学习...
CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决网络应用中的身份验证问题。本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置...
《CAS之SSO配置手册》 CAS(Central Authentication Service)是一种广泛应用的开源单点登录(Single Sign-On,SSO)解决方案,由耶鲁大学发起,后来成为JA-SIG项目的一部分。它为企业级Web应用提供了安全可靠的...
Liferay是一款功能强大的开源企业级门户平台...总之,Liferay的CAS SSO实现是通过集成CAS服务器和配置Liferay的安全策略来完成的,这一功能对于多应用环境的企业级门户至关重要,它可以提供便捷、安全的用户登录体验。