参考以下两篇文章,对原作者表示感谢:
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(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。
CAS实现sso单点登录原理,可以方便技术人员理解
discuz x2.5和cas集成,实现cas单点登录 SSO , php-5.2.14-Win32,Apache 2 2 ,PHPnow-1.5.6
spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...
因为公司要实现SSO单点登录的效果,最近在网上找了一些资料,但是都没有好用的, 所以自己用PHP 使用TP5.0 实现了SSO单点登录,可以跨多个域名。 下载后在本地配置好 A,B,C 3个网站,就可以模拟效果了。
用CAS实现框架的SSO单点登录.详细介绍操作流程并配有代码截图.
sso/cas单点登录Java maven版 含服务端客服端
用cas实现mantis单点登录和登出,详细讲了mantis的程序修改用cas实现SSO,已经在实际中应用,非常有帮助
cas-server-3.3.1-release.zip服务器端所有资源包 cas-client-java-2.1.1.zip客户端源码包 casclient-2.1.1.jar客户端JAR包 说明.doc,完整的说明帮助文档
本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...
CAS单点登录(SSO)完整教程,教程讲解的很详细
Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc
cas实现单点登录服务端及客户端,压缩包内提供三个工程,一个cas服务器,两个测试客户端,可同时部署到一个tomcat下,或者分开部署。端口号默认使用的8000
NULL 博文链接:https://572327713.iteye.com/blog/2356519
NULL 博文链接:https://chengtong-java.iteye.com/blog/2262977
CAS_SSO单点登录实例详细步骤,CAS_,SSO,单点登录