`

CAS实现单点登录(SSO)

    博客分类:
  • J2EE
阅读更多
参考以下两篇文章,对原作者表示感谢:
http://blog.csdn.net/small_love/article/details/6664831
http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/

一、我的开发环境:
Host:
192.168.200.170 ljn.com
192.168.200.170 client.com
其中ljn.com用于server端生成证书

CAS:
Service 版本    cas-server-3.4.8-release
Client版本      cas-client-3.2.1-release

Server:
Tomcat7.0.34 + jdk1.6.0_10

Client:
Tomcat7.0.30+jdk1.6.0_25

二、我的开发笔记
生成证书:
其中,名字与姓氏一栏,填入虚拟域名:ljn.com




证书的使用:
1. 在server端生成证书文件并导入到client端的jre:
keytool -import -keystore "E:\Program Files\Java\jdk1.6.0_25\jre\lib\security\cacerts" -file D:/odd/ssokey.crt -alias bylijinnan 
2. 查看证书的命令:




没有必要在server端导入证书,当然导入了也不会报错

如果没有往client导入证书(我做实验时错误地导入到server中), 会报错:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target

Server的部署:
修改E:\tomcat-7.0.34\bin\catalina.bat,在文件开头添加:
set CATALINA_HOME=E:\tomcat-7.0.34
set CATALINA_BASE=E:\tomcat-7.0.34
set JRE_HOME=E:\Program Files\Java\jdk1.6.0_10
server启动时从命令行启动:catalina.bat start:




Server启动后,要通过https(而不是http)来访问:
如下图左侧,用http来访问时,会下载文件,且无任何错误提示
右侧才是正确的。信任此站点,继续访问就可以看到CAS的登录页面了:






JDBC认证方法(用户密码采用MD5加密):   
	<bean id="casDataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
 
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://100.11.9.27:3306/youxiclient" />
		<property name="username" value="ljn" />
		<property name="password" value="ljn" />
	</bean>


	<bean id="myPasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
					<constructor-arg value="MD5"/>
				</bean>


<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
					<property name="dataSource" ref="casDataSource" />
					<property name="sql" value="select userpassword from users where userlogno=?" />
					<property  name="passwordEncoder"  ref="myPasswordEncoder"/>
				</bean>



client的源码见附件


CAS的具体原理有时间再研究一下
  • 大小: 115 KB
  • 大小: 55.7 KB
  • 大小: 50.9 KB
  • 大小: 176.1 KB
分享到:
评论

相关推荐

    CAS实现sso单点登录原理

    "CAS实现sso单点登录原理" CAS(Central Authentication Service)是Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于Web SSO)。CAS开始于2001年,并在2004年12月...

    集成cas实现单点登录认证.zip

    本压缩包"集成cas实现单点登录认证.zip"显然包含了关于如何使用CAS(Central Authentication Service)框架集成SSO认证的资源。下面我们将详细探讨相关的知识点。 1. CAS简介:CAS是耶鲁大学开源的一个Web应用的...

    CAS单点登录(SSO)教程

    ### CAS单点登录(SSO)教程详解 #### 前言 随着企业信息化建设的不断发展,用户需要在多个系统之间切换并重复登录的情况越来越常见,这不仅降低了用户体验,还增加了管理成本。为了解决这一问题,单点登录(Single ...

    基于Cas的单点登录实现

    **基于Cas的单点登录实现** 单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的技术。它为用户提供了一种方便、高效的访问多系统的方式,同时减少...

    【转载】CAS实现单点登录(SSO)经典完整教程

    CAS(Central Authentication Service)是一种广泛使用的开放源码的单点登录(Single ...在提供的文档《手把手教你利用CAS实现单点登录.docx》中,你将找到更详细的步骤和示例代码,帮助你更好地理解和实施CAS SSO。

    discuz x2.5和cas集成,实现cas单点登录 sso

    X2.5与CAS(Central Authentication Service)集成是一种常见的身份验证解决方案,它能够实现单点登录(Single Sign-On, SSO)功能。在SSO系统中,用户只需登录一次,就可以在多个相互独立的应用系统之间自由切换,...

    CAS单点登录SSO( Single Sign-On)

    CAS单点登录协议是解决多应用系统认证问题的有效方案。通过深入学习和理解CAS的工作机制,开发者能够更好地实现和维护安全、高效的SSO系统。同时,源码分析有助于定制化需求和故障排查,确保CAS在实际环境中的稳定...

    sso/cas单点登录Java maven版 含服务端客服端

    SSO(Single Sign-On)是单点登录的缩写,是一种网络用户身份验证的机制,允许用户在一次登录后访问多个应用系统而无需再次验证。CAS(Central Authentication Service)是SSO的一种实现,由耶鲁大学开发并开源,它...

    PHP 使用TP5.0 实现SSO单点登录

    因为公司要实现SSO单点登录的效果,最近在网上找了一些资料,但是都没有好用的, 所以自己用PHP 使用TP5.0 实现了SSO单点登录,可以跨多个域名。 下载后在本地配置好 A,B,C 3个网站,就可以模拟效果了。

    单点登录sso-shiro-cas-maven

    spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...

    Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc

    Weblogic 使用 YALE CAS 实现 SSO 单点登录的方法 一、Yale CAS 简介 Yale CAS 是耶鲁大学开发的一种开源的单点登录(SSO)解决方案,提供了一个通用的身份验证框架,允许用户使用单个身份验证来访问多个应用程序。...

    CAS单点登录(SSO)完整教程

    CAS(Central Authentication Service)是 Yale 大学发起的一个开源项目,它提供了一种在Web 应用中统一处理用户认证的解决方案,被称为单点登录(Single Sign-On,简称SSO)。SSO允许用户在一个系统中登录后,无须...

    cas 单点登录 解决方案.

    cas 单点登录解决方案可以通过多种方式来实现,例如使用 cas 服务器、LDAP 服务器、Active Directory 等。 cas 服务器可以作为身份验证服务器,LDAP 服务器可以作为用户信息存储服务器,Active Directory 可以作为...

    用CAS实现框架的SSO单点登录

    为了实现CAS单点登录,首先需要对CASServer进行一系列的配置和准备,具体包括: - **准备工具**:例如Tomcat作为应用服务器,keytool工具用于生成证书等。 - **配置环境**:确保服务器环境满足CASServer的要求,...

    CAS5.3+windows AD域实现单点登录免身份认证.docx

    CAS(Central Authentication Service)是一种流行的开源身份验证系统,旨在提供单点登录(SSO)解决方案。Windows AD(Active Directory)则是微软公司推出的目录服务,用于管理计算机网络中的用户、组和资源。结合...

    cas实现单点登录 功能

    本文档将深入探讨如何使用 CAS 实现 Java 应用中的单点登录功能。 一、CAS 概述 CAS 是一个开源的身份验证框架,其核心目标是为用户提供一种集中式的身份验证方式,使得用户在访问各个应用时无需重复输入用户名和...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决网络应用中的身份验证问题。本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置...

    cas实现单点登录服务端及客户端

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并维护。SSO允许用户通过一次登录验证就能访问多个应用系统,无需在每个系统之间单独进行...

Global site tag (gtag.js) - Google Analytics