`

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics