其实网上这样的资料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
分享到:
相关推荐
SSO学习有CAS SSO配置.docSSO学习有CAS SSO配置.doc
CAS学习笔记 --CAS的服务器配置和各种客户端的配置
本文档主要根据自己的实际工作而编写的,部分来源于网络
CAS单点登录的配置文档,CAS单点登录的配置文档
SSO实例安装和配置指南PDF版 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。
CAS之SSO配置手册.doc
此文档详细说明了CAS服务端及客户端相关配置,以及使用http和https配置。
Liferay5.2.3和CAS配置成SSO
包含cas源码、cas使用说明文档(包含配置信息)、连接数据库所需jar包、cas服务端自定义返回值等
SSO\CAS 单点登录配置手册
文档里面介绍了cas单点登录的主要配置及多个用户信息的配置,在客户端怎么才能获取多样的用户信息。
压缩包中有详细的cas sso 的配置过程,同时提供所需的全部JAR包!
CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...
在做SOA项目或者单点登录SSO的时候,用户目录往往都是通过LDAP来完成的,那么CAS与LDAP整合的问题是必须要做的,这里采用OpenLDAP和CAS来记录一下自己的配置过程
解压缩,根据配置CAS.txt说明进行单点登录配置,实现单点登录
[置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) http://blog.csdn.net/ae6623/article/details/8851801 [置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas...
。。。
。。。
使用CAS框架实现SSO单点登录,其中包含: 1、CAS服务器端安装包 ...5、CAS+SSO实例安装和配置指南PDF版.rar 6、Tomcat中使用Yale+CAS实现单点登陆(SSO).doc 7、以及本人的搭建过程中所遇到得问题和解决方法
CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。