soothwolf的个人空间_列表_书生读吧

来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:20:06
CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源
的SSO(single sign-on)的服务。
这里用一个简单的例子来说明用CAS来实现单点登陆(SSO)。
Yale CAS Server 的配置过程
CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源
的SSO(single sign-on)的服务。该服务是以一个java web app(eg:cas.war)来进行服务的,
使用时需要将cas.war发布到一个servlet2.3兼容的服务器上,并且服务器需要支持SSL,
在需要使用该服务的其他服务器(客户),只要进行简单的配置就可以实现SSO了。
CAS 的客户端可以有很多种,因为验证的结果是以XML的格式返回的,CAS的客户端已
打包进去的有java,perl,python,asp,apache module等好几种客户端示例,你还可以根据
需要实现一个自己的客户端,非常简单!~
下面我们以tomcat 5.0 为例进行说明(这里,我将Server和Client同时放在了同一个Tomcat服务器下)。
1.下载cas-server和cas-client(可选,建议使用)
http://www.yale.edu/tp/cas/cas-server-2.0.12.zip
http://www.yale.edu/tp/cas/cas-client-2.0.11.zip
2.将cas-server-2.0.12.zip解压,并将lib/cas.war拷贝到webapps下
3.产生SERVER的证书
keytool -genkey -alias tomcat -keyalg RSA [-keystore keystore-file]
4.(在server)配置tomcat使用HTTPS
$CATALINA_HOME/conf/server.xml里

5.在要使用CAS的客户端应用里设置(以servlets-examples这个APP为例,在应用时,所有客户端均进行类似配置),我们使用ServletFilter(CAS client里提供的)来实现SSO的检查。
修改servlets-examples/WEB-INF/web.xml
CASFilteredu.yale.its.tp.cas.client.filter.CASFilteredu.yale.its.tp.cas.client.filter.loginUrlhttps://your.cas.server.name(这里为https://localhost):port(默认为8443)/cas/loginedu.yale.its.tp.cas.client.filter.validateUrlhttps://your.cas.server.name(这里为https://localhost):port(默认为8443)/cas/proxyValidateedu.yale.its.tp.cas.client.filter.serverNameyour.client.server.name(这里为localhsot):port(默认8080)CASFilter/servlet/*
6.将cas-client-2.0.11.zip解压,把java/lib/casclient.jar拷贝到client服务器上(这里为同一tomcat)的
webapps/servlets-examples/WEB-INF/lib目录下(如果没有就建一个)
7.导出SERVER的证书,用来给所有需要用到的客户端导入
keytool -export -file myserver.cert -alias my-alias-name -keystore keystore-file
8.在客户端的JVM(这里为同一JVM)里导入信任的SERVER的证书(根据情况有可能需要管理员权限)
keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file myserver.cert -alias tomcat
9.测试.
把server和client分别起来(这里为同一个Tomcat,实际应用时可以在多个服务器上,且client可以为多个应用),检查启动的LOG是否正常,如果一切OK,就访问
http://client1:8080/servlets-examples/servlet/HelloWorldExample
系统会自动跳转到一个验证页面,随便输入一个相同的账号,密码,严正通过之后就会访问
到真正的HelloWorldExample这个servlet了
10.其他
登陆过后,无论多少个client,在各自的session里面有相同的用户信息(用户名),默认的情况下,可以通过session.getAttribute("edu.yale.its.tp.cas.client.filter.user")取得登陆名。
由于CAS为完全开源项目,可以根据自己项目修改源代码(比如,登陆验证,肯定得根据实际项目修改,以及登陆页面等)。
更多信息请参考
http://www.yale.edu/tp/cas/
http://www-106.ibm.com/developerworks/web/library/wa-singlesign/
soothwolf的个人空间_列表_书生读吧 学习_个人空间 地址列表_电台 中国的“敌人”为何增产了_吴稼祥的个人空间 a人生必读书目_tianzhiwusir的个人空间_考研部落 个人资料_qilin688的个人空间_世纪佳缘交友网 筱丹:借钱使人情变性_王锦思的个人空间 快乐无忧是佛_心是莲花的个人空间 超级灵异:李承鹏竟然真能预感地震!_落魄书生周筱赟的博客 邮件列表_历史文档 【原创】大牌明星们的显赫家世_化雪无尘的个人空间_凤凰博客 【原创】大牌明星们的显赫家世_化雪无尘的个人空间_凤凰博客 中国的住房数据为什么会是“糊涂账”?_汪华斌的个人空间_凤凰博报 毛泽东的读书生涯和治国理想_张正春摄影的个人空间_凤凰博报 中国云计算的悲哀与未来_刘兴亮的个人空间_凤凰博报 【原创】杨丽娟,是谁病了?_凤凰迷万人迷的个人空间_凤凰博客 【原创】刘晓庆:换了八个男人而且越换越小_凤天祥的个人空间_凤凰博客 茅于轼一句话差点饿死中国老百姓_葛孚学的个人空间_凤凰博报 总理说:请媒体给政府一些时间_诗哲魂的个人空间_凤凰博报 模糊面纱原则_我心如水的个人空间_凤凰博报 中医刮痧歌_双眸含笑9710的个人空间_民间中医网 ngotcm.com 驴友事故一点点_志海的个人空间_凤凰博报 郭恒忠:“唱红歌”可以治病?_郭恒忠的个人空间_凤凰博报 中医刮痧歌_双眸含笑9710的个人空间_民间中医网 ngotcm.com - powere...