使用cas实现sso
来源:百度文库 编辑:神马文学网 时间:2024/04/28 10:55:44
CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源
的SSO(single sign-on)的服务,http://www.yale.edu/tp/cas/
cas分为服务端和客户端,在服务端开启SSL,服务器下发证书安装到各个客户端中,客户端在与服务器进行通讯验证时,将检验二者的证书是否一致。
1、服务器中生成证书:keytool -genkey -alias cnc -keystore c:\mykeystore
导出证书,由客户端安装: keytool -export -alias -keystore c:\mykeystore -file c:\mycerts.cer
注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost
2、客户端配置:(注:使用client2.0.11版本稳定些,2.0.10总报异常)
将服务器下发的证书导入到JVM中
keytool -import -trustcacerts -alias cnc -keystore $JAVA_HOME/JRE/LIB/SECURITY/CACERTS -file c:\mycert.cer
(如果这样不行,则到JAVA_HOME/JRE/LIB/SECURITY/下进行)
配置web.xml:
CASFilter
edu.yale.its.tp.cas.client.filter.CASFilter
edu.yale.its.tp.cas.client.filter.loginUrl
https://localhost:8443/cas/login
edu.yale.its.tp.cas.client.filter.validateUrl
https://localhost:8443/cas/proxyValidate
edu.yale.its.tp.cas.client.filter.serverName
localhost
CASFilter
/*
当前CAS默认的用户名和密码判断是,只要用户名和密码相同即可。使用的类为SampleHandler,一般的是与数据库进行匹配,这样我们可以实现PasswordHandler接口, 在authenticate()方法中进行验证。可以在容器中配置数据源,使用容器提供的数据源。
同时修改服务器下CAS的web.xml中的配置,使用自己的类。
edu.yale.its.tp.cas.authHandler
edu.yale.its.tp.cas.auth.provider.MyDBHandler
然后重新BUILD,将类打包,替换服务器CAS/WEB-INF/LIB下原来的包。
CAS只能提供SSO,对于角色,授权,则要在web.xml进行相应的配置,也可以使用filter。
常出现的异常:“未找到可信任的证书”--主要原因为在客户端未将服务器下发的证书导入到JVM中,可以用keytool -list -alias cnc -keystore $JAVA_HOME/JRE/LIB/SECURITY/CACERTS
来查看证书是否真的导入到JVM中。
“https hostname must bewww.xx.com“---主要原因为在创建keystore是,CN没设置成为服务器的域名,例如www.auth.com.cn
的SSO(single sign-on)的服务,http://www.yale.edu/tp/cas/
cas分为服务端和客户端,在服务端开启SSL,服务器下发证书安装到各个客户端中,客户端在与服务器进行通讯验证时,将检验二者的证书是否一致。
1、服务器中生成证书:keytool -genkey -alias cnc -keystore c:\mykeystore
导出证书,由客户端安装: keytool -export -alias -keystore c:\mykeystore -file c:\mycerts.cer
注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost
2、客户端配置:(注:使用client2.0.11版本稳定些,2.0.10总报异常)
将服务器下发的证书导入到JVM中
keytool -import -trustcacerts -alias cnc -keystore $JAVA_HOME/JRE/LIB/SECURITY/CACERTS -file c:\mycert.cer
(如果这样不行,则到JAVA_HOME/JRE/LIB/SECURITY/下进行)
配置web.xml:
当前CAS默认的用户名和密码判断是,只要用户名和密码相同即可。使用的类为SampleHandler,一般的是与数据库进行匹配,这样我们可以实现PasswordHandler接口, 在authenticate()方法中进行验证。可以在容器中配置数据源,使用容器提供的数据源。
同时修改服务器下CAS的web.xml中的配置,使用自己的类。
然后重新BUILD,将类打包,替换服务器CAS/WEB-INF/LIB下原来的包。
CAS只能提供SSO,对于角色,授权,则要在web.xml进行相应的配置
常出现的异常:“未找到可信任的证书”--主要原因为在客户端未将服务器下发的证书导入到JVM中,可以用keytool -list -alias cnc -keystore $JAVA_HOME/JRE/LIB/SECURITY/CACERTS
来查看证书是否真的导入到JVM中。
“https hostname must bewww.xx.com“---主要原因为在创建keystore是,CN没设置成为服务器的域名,例如www.auth.com.cn
使用cas实现sso
Liferay中使用CAS实现单点登陆(SSO)
Liferay的CAS SSO实现思路
在Tomcat中使用Yale CAS实现单点登陆(SSO) - 程序世界 - CSDNBl...
在Tomcat中使用Yale CAS实现单点登陆(SSO) 文章合集dsf
用Yale CAS Server 来实现单点登陆(SSO)
SSO实现技术
实现单点登陆(SSO)
应用整合中SSO的技术实现
计算机科学论坛--一个yale-cas实现单点登录的简单例子实现
源代码解读Cas实现单点登出(single sign out)功能实现原理
应用整合中SSO的技术实现 - dream_zh的专栏 - CSDNBlog
WebSphere环境下的SSO(Single sign-on:单点登录、全网漫游)实现之...
使用.NET实现断点续传
CAS查询
SSO技术
使用Yahoo Service实现天气预报
使用mod_proxy_balancer实现负载均衡
使用Yahoo Service实现天气预报
Java CAS client
CAS 2 Architecture
Java CAS client
使用JDesktop Integration Components实现桌面系统托盘
使用Word实现电子表单填写