- 浏览: 242606 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wfzhanga:
不错, 存一下
DruidDataSource配置 -
peiyicong_:
...
☆误删除数据后快速恢复☆ -
peiyicong_:
...
spring ioc 解析 -
zhaozhihang:
代码,第十四行,有语法错误。
List,Set,Map用法以及区别 -
大头成为火影:
...
List,Set,Map用法以及区别
使用cas在tomcat实现单点登录(精)2009-04-01 08:17cas是目前非常流行的企业应用SSO解决方案。本文就cas的配置及使用展开讨论,下图为cas原理:
一、软件准备:
1、apache-tomcat-6.0.18。
2、cas-server-3.3.1-release.zip(cas服务器)。
3、cas-client-2.0.11.zip。
二、配置tomcat的ssl
1、生成keystore证书
keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=localhost" -keystore server.keystore -storepass changeit
cn表示一个主机名或者一个域名,本机用localhost表示。
alias表示插入到证书中的别名。
命令执行完后,在当前目录生成server.keystore证书文件,注意,该文件一定要保护好,后面配置时需要用到。为了后面方便导入,将该文件直接生成在C:Program FilesJavajdk1.6.0_10jrelibsecurity目录下,该目录是我的jdk安装目录,注意:在windows下用导入证书时,目录名中间不能有空格,为了避免导入麻烦,jdk最好安装在没有空格的目录里。
2、导出证书
keytool -export -alias tomcatsso -file server.cer -keystore server.keystore -storepass changeit
该命令执行完后在当前目录生成证书文件server.cer
3、将server.cer导入到jdk的信任库中
在导入之前可以看看信任库中有什么证书
keytool -list -keystore cacerts -storepass changeit
执行完该命令后显示所有证书信息。默认情况下jdk1.6 u10的cacerts信任库中有59条证书信息。
如果信任库中已经有自己的证书信息了,可以用下面的命令删除:
keytool -delete -alias tomcatsso -keystore cacerts -keypass changeit
需要指定tomcatsso别名。
导入证书用一下命令:
keytool -import -alias tomcatsso -file server.cer -keystore cacerts -storepass changeit
执行结果如下:
以上就是tomcat中配置ssl的全部步骤。
三、打开tomcat的https
打开%CATALINA_HOME%/conf/server.xml,找到如下内容:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
将其换成如下内容
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystorePass="changeit" keystoreFile="C:server.keystore"/>
注意红色部分,我将证书文件拷贝到C盘根下了,不过这不是必须的,我只是为了让目录结构尽量短些。
如果一切顺利,启动tomcat,在浏览器中输入https://localhost:8443/,将会看到tomcat启动页面,说明tomcat的ssl已经配置成功。
四、配置cas server
1、解压cas-server-3.3.1-release.zip,找到cas-server-webapp-3.3.1.war,重命名为cas.war,
将其拷贝到tomcatwebapps下,启动tomcat,生成cas目录,在cas的WEB-INF下的lib目录中拷贝如下jar包:
cas-server-support-jdbc-3.3.1.jar(该文件也在cas-server-3.3.1-release.zip中)
commons-dbcp.jar
commons-pool.jar
spring.jar(必须的)
根据你的数据库的不同,再下个其中拷贝对应数据库的jdbc驱动,本文使用mysql,则拷贝
mysql-connector-java-5.0.5-bin.jar
2、配置cas的deployerConfigContext.xml
配置之前需要建立用户表:
打开cas/WEB-INF,打开deployerConfigContext.xml,先加入一个bean:
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/mydata</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>111111</value>
</property>
</bean>
然后向下找到<bean
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
将其注释掉,添加如下配置:
<bean id="SearchModeSearchDatabaseAuthenticationHandler"
class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"
abstract="false" lazy-init="default"
autowire="default" dependency-check="default">
<property name="tableUsers">
<value>t_users</value><!--表的名字-->
</property>
<property name="fieldUser">
<value>username</value><!--用户名对应的字段名-->
</property>
<property name="fieldPassword">
<value>password</value><!--口令对应的字段名-->
</property>
<property name="dataSource" ref="casDataSource" />
</bean>
cas server到此配置完毕,启动tomcat,在地址栏输入:https://localhost:8443/cas/login
不出意外,将出现登陆窗口,如果前面数据库中有数据,如用户名为xhd,口令为111111,则在该登录页面输入,点击登录后将显示登陆成功的页面。
五、配置cas客户端
1、在myeclipse中建立一个web project,在web.xml中添加如下内容:
<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://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/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8080</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
<param-value>true</param-value>
</init-param>(1)
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/*</url-pattern>(2)
</filter-mapping>
注意:(1)部分表示在cas server登录成功后,可以自动跳转到客户端访问的页面。
(2)部分表示客户端的所有资源都将被保护,也就是说当客户端访问的任何页面都将被cas验证。
2、解压cas-client-2.0.11.zip,在cas-client-2.0.11.zipcas-client-2.0.11javalib下找到casclient.jar,将其拷贝到客户应用的WEB-INFlib下。
好了,启动tomcat,体验你的辛苦带来的乐趣吧。
参考:
使用 CAS 在 Tomcat 中实现单点登录
http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html
发表评论
-
mybatis generator
2013-07-29 16:15 100581. 在 Mybatis 主页 http://code.go ... -
Axis,axis2,Xfire以及cxf对比
2011-10-25 10:48 1110http://ws.apache.org/axis/ htt ... -
List,Set,Map用法以及区别
2011-10-14 12:44 63552List,Set,Map是否继承自Collection接口? ... -
Excel读写
2011-04-29 15:19 975要导入一个HSSF包 import org.apac ... -
JSTL XML <x:parse> 解析xml 的Tag标签
2011-04-13 16:15 2295The <x:parse> tag is used ... -
客户端缓存cookie的使用
2011-03-11 15:41 2715====================写入cookie=== ... -
awstats和tomcat配置指南
2011-03-04 13:55 2251引言为达到网站优化的理想效果,对网站访问者进行必要的、甚至细 ... -
oscache缓存技术
2011-03-03 17:07 2686一、OSCache是当前运用最广的缓存方案,JBoss,Hib ... -
用ant 编写 build,xml 把一个web项目打成war 不依赖eclipse
2011-03-02 16:49 9467把一个WEB项目打成了一个WAR包,其实原理很简单,就是 ... -
Java操作dll等active控件的使用,即jacob包的使用
2011-02-15 14:38 6496简要说明: jacob.dll 放到 C:\WINDOWS\ ... -
增加tomcat/Eclipse/JDK内存的方法
2013-05-16 18:18 13351.增加tomcat内存的方法 tomcat默认可以使用的 ... -
Eclipse查看调试jar包中的源文件
2010-10-13 13:57 7057Eclipse查看调试jar包中的源文件方法如附件图: ... -
增加tomcat/Eclipse/JDK内存的方法
2010-10-12 16:48 38381.增加tomcat内存的方法 tomcat默认可以使用的内存 ... -
myeclipse 注册码生成代码源码
2010-10-12 16:31 1653myeclipse 注册码生成代码源码注意:注册Myeclip ... -
Excel读写
2010-10-12 16:30 1107要导入一个HSSF包 import org.apache.p ... -
跨站脚本注入问题详解
2010-10-12 16:26 3053===========================问题描述 ...
相关推荐
使用 CAS 在 Tomcat 中实现单点登录
CAS 在 Tomcat 中实现单点登录
单点登录(SSO)是现代企业环境中一种高效的身份验证机制,它允许用户在一个系统中登录后,无需再次输入凭证即可访问多个相互信任的应用系统。CAS(Central Authentication Service)是SSO的一种实现,由Yale大学...
### 使用CAS在Tomcat中实现单点登录的关键知识点 #### 一、CAS简介与特性 - **CAS**(Central Authentication Service)是由耶鲁大学发起的一个开源项目,它为Web应用程序提供了一种简单可靠且功能强大的单点登录...
总结来说,实现使用CAS在Tomcat6中进行单点登录,需要理解SSO的基本概念,熟悉CAS的工作原理和协议流程,掌握CAS Server的部署和配置,以及CAS Client在Tomcat中的集成。通过这些步骤,可以构建一个安全且方便的单点...
cas-server-3.3.1-release.zip服务器端所有资源包 cas-client-java-2.1.1.zip客户端源码包 casclient-2.1.1.jar客户端JAR包 说明.doc,完整的说明帮助文档
【标题】"CAS Tomcat整合单点登录Demo"是一个示例项目,展示了如何将CAS(Central Authentication Service)与Tomcat应用程序服务器集成,实现单点登录(Single Sign-On, SSO)的功能。CAS是一种开放源码的身份验证...
本文将详细介绍如何使用CAS整合CXF,实现基于Tomcat服务器的单点登录部署步骤。 首先,我们需要在Tomcat服务器上部署CAS项目。这通常涉及以下步骤: 1. **下载CAS服务器**:从官方Git仓库或Maven仓库获取最新的CAS...
Tomcat 下用cas实现单点登录,实现系统整合。
描述中的“写的挺细”暗示了文档内容可能包含了详细的步骤和解释,这意味着我们将深入探讨如何在Tomcat环境下配置和实现CAS单点登录。 **单点登录(SSO)** 单点登录是网络环境中的一种安全机制,用户只需要一次...
总结来说,Tomcat实现单点登录SSO,主要通过配置合适的Realm,结合Cookie机制,实现用户身份在多个应用间的共享。同时,理解SSO的各种实现技术,如基于Cookie、Kerberos、SAML和CAS等,有助于选择最合适的SSO解决...
理解并掌握以上知识点,将有助于你成功地在Tomcat环境中实施CAS单点登录。这个教程应包含详细的步骤、示例代码以及可能遇到的问题和解决方法,帮助你一步步构建起安全、高效的SSO环境。在实际操作中,可能会遇到各种...
《CAS_Tomcat6.doc》可能专注于在Tomcat6上的特定配置,而《使用 CAS 在 Tomcat 中实现单点登录.mht》可能提供了一种更直观的教程形式。 此外,《CAS使用.doc》和《Java Web 应用如何集成cas3.doc》可能涵盖了CAS的...
7. **退出SSO**:为了实现单点登出,需要在应用中添加一个登出链接,点击后将用户从CAS服务器中注销,同时清除应用中的会话信息。 8. **测试SSO功能**:完成上述配置后,重启Tomcat服务器,尝试访问应用中的受保护...
为了实现单点登录,需要在CAS服务器端进行相应的配置。下面将详细介绍CAS服务器端配置的步骤: 1. 配置CAS服务器端 在CAS服务器端,需要配置单点登录的服务端口、服务器名称和认证方式等。 2. 配置客户端认证 在...
单点登录服务端项目cas-server单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-...
- "使用 CAS 在 Tomcat 中实现单点登录_1.pdf":这份文档应该详细介绍了如何在Tomcat上集成CAS,包括下载CAS服务器,配置服务提供者,以及客户端的安装和配置。 - "跨域SSO实例安装和配置指南_3.pdf":此文件可能...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并维护。SSO允许用户通过一次登录验证就能访问多个应用系统,无需在每个系统之间单独进行...
下面我们将详细阐述如何在Liferay 6.1.x版本上结合CAS 3.5.0实现单点登录。 1. **部署CAS服务器** - 首先,你需要下载并解压CAS服务器的发行版,例如`cas-server-3.5.0-release`。 - 将`cas-server-webapp-3.5.0....