- 浏览: 176942 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
得牛哄哄:
楼主,我想问题下,我服务器已经搭建好了,验证可以服务器登陆成功 ...
CAS SSO 例子 笔记 (原创-梁健) -
得牛哄哄:
为什么下不了?
CAS SSO 例子 笔记 (原创-梁健) -
aa00aa00:
这个我已经配置成功了,看的视频,挺好的,其实用CAS确实挺方便 ...
CAS SSO 例子 笔记 (原创-梁健) -
ningguiixn:
单例写的不对哦亲
Singleton 单例模式很多种写法 -
liangjian103:
hesy_007 写道Nginx for windows在生产 ...
Nginx负载均衡Tomcat简单配置
先说写心情一下:
去年在第一家公司做的那个项目使用是CAS SSO单点登录,但是由于不是我做的那块,所以一直没有太深入的研究,这段日子比较闲,从新学习一下CAS SSO单点登录吧,门户网站等大型网站都会用的到的,所以这的确是个不可缺少的技术。这两天在配置CAS SSO的时候遇到了很多的问题,虽然有过无助,但坚持一下别放弃,最终总会弄成功的!
-------------------------------------------------------------------------------------------------------------------------------
列一列遇到问题的过程:
先是:Tomcat配置完https后,启动报错。
然后就是:正常启动,但是无法跳转到CAS登录页面,也无法以https访问。
再就是:可以正常跳转到CAS的登录页面,但点击登录后,跳转到成功页面的时候报500错误,说没有导入证书。
-------------------------------------------------------------------------------------------------------------------------------
网上找了好多的资料,但是几乎都配置不成功,不是缺这个就是少那个。这里我就写写我的笔记,绝对保证你能够配置成功!好了,心情就说到这吧,总之成功的那一刻心情是很爽的。
转载请注明出处:http://liangjian103.iteye.com/blog/1129056
需要介质
1、 客户端介质cas-client-2.0.11.zip
2、 服务端介质cas-server-3.4.8-release.zip
3、 Tomcat6.0
4、 jdk1.5.0_12
下载地址:
http://downloads.jasig.org/cas-clients/
http://downloads.jasig.org/cas/
将cas-server-3.4.8-release.zip\cas-server-3.4.8\modules下的cas-server-webapp-3.4.8.war拷贝到Tomcat的webapp目录下,重命名为cas.war
一、服务端配置(以下配置我已经写了批处理。):
修改Tomcat的密码为:changeit,因为下面统一都用的这个密码。
tomcat-users.xml <user username="admin" password="changeit" roles="admin,manager"/>
由于CAS只能识别域名,所以只能修改C:\WINDOWS\system32\drivers\etc\hosts,加入:127.0.0.1 sso.tomcat.com
由于以下我使用批处理实现,也就不需要一步步的回车设置证书的信息了:
服务端凭证要配置域名 例如:CN=sso.tomcat.com 此处为hosts中配置的。这个名字要与下面配置客户端的web.xml中的过滤器里写到的一致,下面会再做解释。
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12 set TOMCAT_HOME=D:\Program Files\Apache Software Foundation\Tomcat 6.0 set SERVER_DN="CN=sso.tomcat.com, OU=share, O=share, L=sz, S=gd, C=CN" set KS_PASS=-storepass changeit keytool -delete -alias tomcat -file client.cert %KS_PASS% -keystore server.keystore keytool -delete -alias tomcat1 -trustcacerts -file client.cert %KS_PASS% -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -keypass changeit keytool -genkey -alias tomcat -keyalg RSA -keystore server.keystore -dname %SERVER_DN% %KS_PASS% -keypass changeit keytool -export -alias tomcat -file client.cert %KS_PASS% -keystore server.keystore keytool -import -alias tomcat1 -trustcacerts -file client.cert %KS_PASS% -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -keypass changeit -noprompt mkdir "%TOMCAT_HOME%\keystore\" copy server.keystore "%TOMCAT_HOME%\keystore\" @echo off echo "-----------------------------------------------------------" echo 请配置%TOMCAT_HOME%\conf\server.xml文件。 echo "<Connector protocol=org.apache.coyote.http11.Http11NioProtocol" echo "port=8443 minSpareThreads=5 maxSpareThreads=75" echo "enableLookups=true disableUploadTimeout=true" echo "acceptCount=100 maxThreads=200" echo "scheme=https secure=true SSLEnabled=true" echo "clientAuth=false sslProtocol=TLS" echo "keystoreFile=keystore/server.keystore keystorePass=changeit" echo "/>" echo 当前JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12 echo 当前TOMCAT_HOME=D:\Program Files\Apache Software Foundation\Tomcat 6.0 echo 证书位置:%TOMCAT_HOME%\keystore\server.keystore echo 以上为CAS服务端的配置。接下来配置SSO客户端。 echo "-----------------------------------------------------------" color 3 echo. && pause
保存为:生成证书配置.bat,双击执行。
修改Tomcat 6.0\conf\server.xml文件:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keystoreFile="keystore/server.keystore" keystorePass="changeit" />
这个配置也是困扰我好长时间,但最终测试通过了的。
这里需要注意,这个分别为证书的路径和密码,keystore/server.keystore这个目录和文件会在上面的批处理中创建,密码默认为:"changeit"
keystoreFile="keystore/server.keystore" keystorePass="changeit"
二、客户端配置:
在你的应用中,修改web.xml文件,加入SSO过滤器
<!-- SSO-Start --> <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://sso.tomcat.com:8443/cas/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>https://sso.tomcat.com:8443/cas/proxyValidate</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>192.168.9.203:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>*.html</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>*.htm</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <!-- SSO-END -->
启动Tomcat服务,访问一下你SSO过滤的页面便可以跳转到CAS的登录页面。登录成功后,会自动跳转到目标页面。如果A应用和B应用都加入了SSO过滤器,这样,他们就都会跳转到CAS认证服务器去登录,当其中一个应用在CAS上登录后,另一个应用则会自动登录。
- CAS_SSO单点登录-例子.rar (3.1 MB)
- 下载次数: 1095
评论
注意:
需要介质
1、 客户端介质cas-client-2.0.11.zip
2、 服务端介质cas-server-3.4.8-release.zip
3、 Tomcat6.0
4、 jdk1.5.0_12
你是不是没下载cas-server啊,得配置好CAS服务,就是一个CAS的war包,你说的那个页面在CAS的war包里的。
在你要单点登录的web.xml里配置过滤器,就可以了,登录会到统一认证的服务器上做验证。主要是配置统一认证的服务器。
将下列命令保存成sso.sh
keytool -genkey -alias tomcat -keyalg RSA -keystore server.keystore -dname "CN=sso.tomcat.com, OU=share, O=share, L=sz, S=gd, C=CN" -storepass changeit -keypass changeit
keytool -export -alias tomcat -file client.cert -storepass changeit -keystore server.keystore
keytool -import -alias tomcat1 -trustcacerts -file client.cert -storepass changeit -keystore /usr/java/jdk1.6.0_23/jre/lib/security/cacerts -keypass changeit -noprompt
mkdir /tomcat5/keystore/
cp server.keystore /tomcat5/keystore/
Tomcat5.5的配置:
修改Tomcat5.5\conf\server.xml文件:
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore/server.keystore" keystorePass="changeit" />
----------------------------------------------------------------------------------
Tomcat6.0的配置:
修改Tomcat 6.0\conf\server.xml文件:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore/server.keystore" keystorePass="changeit"
/>
----------------------------------------------------------------------------------
可是我用了3.x却找不到edu.yale.its.tp.cas.client.filter.CASFilter这个类呢。
类名换了而已~ 你可以去看看官方的 WIKI~
可是我用了3.x却找不到edu.yale.its.tp.cas.client.filter.CASFilter这个类呢。
发表评论
-
Singleton 单例模式很多种写法
2012-09-13 11:42 1212以前我就知道单例模式的两种写法,如今经发现那两种是 ... -
cookies的详细使用说明
2012-09-07 21:14 1284一.什么是cookies? 大家都知道,浏览器与WEB ... -
java5线程框架Executor 排程定时功能
2012-09-06 10:56 10291,带有排程功能的例子 ... -
hessian教程
2012-09-01 12:29 1699转载 http://www.buildapp.net/java ... -
Nginx负载均衡Tomcat简单配置
2012-08-02 15:30 1471很久没练习负载均衡的配置了,真的被遗忘了。生活的环境总在 ... -
Sitemesh例子分享
2012-04-12 14:51 2483sitemesh是表现层的技术,它将公用的部分抽出来了,就不用 ... -
导出excel 的问题 防止自动转科学计数法格式
2011-11-15 13:37 2646关于eXtremeComponents 导出excel 的问题 ... -
JAVA System.getProperty()参数大全
2011-10-08 13:00 1168JAVA System.getProperty()参数大全 ... -
Java通过XML Schema校验XML
2011-10-08 10:37 1177Java通过XML Schema校验XML XML的校 ... -
C语言中拆分人民币面值的题
2011-09-17 16:16 1502目前人民币共有以下几种面值(不包括角和分):1,2,5,10, ... -
用FindBugs分析代码漏洞
2011-08-31 09:00 1653hyddd原创,转载请说明! FindBugs是 ... -
表格一对多,动态显示
2011-08-18 09:56 1128今天一大早就看到一个朋友向我求助,如何实现那样一种显示方式,我 ... -
Java Map遍历的各种方法
2011-08-18 09:44 1106//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很 ... -
Apache与Tomcat的安装和桥接
2011-08-05 18:03 11441、首先安装Apache:./co ... -
Quartz 定时任务web使用
2011-08-05 17:58 1535首先创建一个Web项目,将quartz-1.6.0.jar,以 ... -
Hadoop学习笔记一
2011-07-29 16:07 972这里先大致介绍一下Hadoop. 本文大部分内容 ... -
ant命令总结
2011-07-08 11:18 9251 Ant是什么? Apache Ant 是一个基于 Ja ... -
Java二维数组实现简单Map
2011-06-22 17:49 4766这些天频繁的在使用二维数组,让我觉得二维数组要比Map更灵活多 ... -
抓取防爬虫的网站信息(梁健-原创)
2011-06-21 11:11 1923有的网站限制网络爬虫的抓取,例如javaeye。会出现 ... -
Java模拟Post表单提交 302 302 HTTP1.0 HTTP1.1问题解决
2011-06-01 10:17 6791最近遇到了302和301,还有HTTP1.0和HTTP1.1的 ...
相关推荐
单点登录 sso cas带超详细文档,包含(cas-server-webapp-4.0.0.war、c3p0-0.9.1.2.jar、cas-client-core-3.3.3.jar、cas-server-support-jdbc-4.0.0.jar、cas-server-webapp-support-4.0.0.jar、commons-logging-...
CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多应用环境中统一用户认证。这个协议由耶鲁大学开发并开源,现在由Apereo基金会维护。标题提到的"cas-server-...
CAS(Central Authentication Service)是一种广泛使用的开源身份验证和授权框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在提供的压缩包`cas-overlay-template-5.3.zip`中,我们找到了...
CAS(Central Authentication Service)是一种基于Web的单点登录(Single Sign-On, SSO)协议,主要用于简化用户在多个应用系统间的登录流程。`cas-client-core-3.3.3` 是一个CAS客户端的核心库,它使得应用程序能够...
CAS(Central Authentication Service,中央认证服务)是一种广泛使用的开源身份验证框架,主要目的是提供单一登录(Single Sign-On,SSO)功能,使得用户在访问多个应用系统时只需要进行一次身份验证。现在我们来...
cas.war下载 cas-server-webapp-5.0.3.1
CAS(Central Authentication Service)是一种广泛使用的单点登录(Single Sign-On, SSO)框架,它为Web应用程序提供了统一的身份验证服务。"cas-overlay-template-5.3" 是一个基于Spring Boot构建的CAS服务器覆盖...
CAS(Central Authentication Service)是 Yale 大学开发的一个开源项目,它提供了实现SSO的标准框架。CAS 通过统一的身份验证接口,简化了用户对多个应用系统的身份验证过程,提高了用户体验并增强了安全性。 在这...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)系统。它允许用户通过一个认证界面访问多个应用系统,而无需在每个系统上分别进行登录。在这个"cas-server-...
CAS(Central Authentication Service)是 Yale 大学开发的一个开源项目,主要用于实现单点登录(Single Sign-On, SSO)。它是一个基于Web的认证协议,旨在简化用户对多个应用系统的访问管理,通过一次登录即可访问...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单一登录(Single Sign-On,简称SSO)协议,它允许用户通过一次认证过程访问多个应用系统,从而简化了用户的登录流程并提高了安全性。...
CAS(Central Authentication Service)是一种广泛使用的开放源码身份验证框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在你提供的资料中,"Cas5.2.6(cas-overlay-template-5.2.6)服务端...
CAS(Central Authentication Service)是一种广泛使用的开放源码身份验证框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在本文中,我们将深入探讨"cas-overlay-template-6.1 服务端代码...
CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS...
CAS是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)功能,它允许用户在一个应用中登录后,无需再次认证就能访问其他与之集成的应用系统。 【描述】中的“cas-source-code”表明这个压缩包...
`.net-casSSO-client.rar`提供的程序集`DoNetCasClient.dll`是一个预编译的库,可以直接集成到你的.NET项目中,简化了客户端的开发工作。这个库通常包含以下功能: 1. **登录验证**:客户端库会处理向CAS服务器发送...
CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On, SSO)。SSO允许用户在访问多个受保护的应用系统时只需要进行一次身份验证,提高了用户体验并增强了安全性...
CAS(Central Authentication Service)是基于Java的开源身份验证框架,主要设计用于Web应用程序,提供单一登录(Single Sign-On,SSO)服务。"cas-client-java-2.1.1"是一个特定版本的CAS客户端库,它允许Java应用...
CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于提供单一登录(Single Sign-On,SSO)服务。在本场景中,我们有一个名为"cas-server-webapp-3.5.2.zip"的压缩包,它包含了部署CAS服务器所...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(SSO)系统,它允许用户通过一个统一的身份验证接口访问多个应用系统,而无需为每个系统单独进行登录。在给定的文件中,我们有两个主要...