欢迎来到天天文库
浏览记录
ID:22050321
大小:115.39 KB
页数:20页
时间:2018-10-26
《cas总结及整合spring security3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Springsecurity3整合CAS一CAS介绍1、CAS是Yale大学发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法,CAS在2004年12月正式成为JA-SIG的一个项目。CAS具有以下特点:2、开源的企业级单点登录解决方案。3、CASServer为需要独立部署的Web应用。4、CASClient支持非常多的客户端(这里指单点登录系统中的各个Web应用),包括Java,.Net,PHP,Perl,Apache,uPortal,Ruby等。二CAS原理及协议从结构上看,CAS包含两个部分:CASSe
2、rver和CASClient。CASServer需要独立部署,主要负责对用户的认证工作;CASClient负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CASServer。下图是CAS最基本的协议1、CASClient与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源。对于访问受保护资源的每个Web请求,CASClient会分析该请求的Http请求中是否包含ServiceTicket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的CASServer登录地址,并传递Service(也就
3、是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第3步中输入认证信息,如果登录成功,CASServer随机产生一个相当长度、唯一、不可伪造的ServiceTicket,并缓存以待将来验证,之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个TicketGrantedCookie(TGC),CASClient在拿到Service和新产生的Ticket过后,在第5,6步中与CASServer进行身份合适,以确保ServiceTicket的合法性。2、在该协议中,所有与CAS的交互均采用SSL协议,确保
4、,ST和TGC的安全性。协议工作过程中会有2次重定向的过程,但是CASClient与CASServer之间进行Ticket验证的过程对于用户是透明的三https配置1、生成serverkey进入cmd转到E:下输入keytool-genkey-aliascasserver-keyalgRSA-keypasschangeit-storepasschangeit-keystoreserver.keystore-validity3600注:参数-validity指证书的有效期(天),缺省有效期很短,只有90天。生成证书时,您的名
5、字与姓氏是什么,必须添域名或casserver机器名,否则SSL将不能取得TGC信息。(证书至关重要,直接影响CAS是否能正常工作)RSA生成证书的方式Changeit证书密码2、将证书导入到JDK的证书信任库中第一步是导出证书,命令如下:keytool-export-trustcacerts-aliascasserver-fileserver.cer-keystoreserver.keystore-storepasschangeit第二步是导入到证书信任库,命令如下:keytool-import-trustcacerts-
6、aliascasserver-fileserver.cer-keystoreD:Javajre1.6.0_02libsecuritycacerts-storepasschangeit注:根据不同的JDK版本证书需要导入jdk/jre中。四cas-server配置1、配置服务端tomcate7、ableLookups="true"disableUploadTimeout="true"acceptCount="100"maxThreads="200"scheme="https"secure="true"SSLEnabled="true"clientAuth="false"sslProtocol="TLS"keystoreFile=“../servercas1.keystore"keystorePass="changeit"/>keystoreFile为已经生成的服务器证书的地址keystorePass为自定义的服务器8、证书的密码2、部署CASServer到CAS网站上下载server程序,将cas-server-webapp-<版本号>.war拷贝到tomcat的webapps目录,并更名为cas.war。由于前面已配置好tomcat的https协议,可以重新启动tomcat,然后访问:https://
7、ableLookups="true"disableUploadTimeout="true"acceptCount="100"maxThreads="200"scheme="https"secure="true"SSLEnabled="true"clientAuth="false"sslProtocol="TLS"keystoreFile=“../servercas1.keystore"keystorePass="changeit"/>keystoreFile为已经生成的服务器证书的地址keystorePass为自定义的服务器
8、证书的密码2、部署CASServer到CAS网站上下载server程序,将cas-server-webapp-<版本号>.war拷贝到tomcat的webapps目录,并更名为cas.war。由于前面已配置好tomcat的https协议,可以重新启动tomcat,然后访问:https://
此文档下载收益归作者所有