




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、背景描述随着信息化的迅猛发展,政府、企业、机构等不断增加基于Internet/Intranet 的业务系统,如各类网上申报系统,网上审批系统,OA 系统等。系统的业务性质,一般都要求实现用户管理、身份认证、授权等必不可少的安全措施,而新系统的涌现,在与已有系统的集成或融合上,特别是针对相同的用户群,会带来以下的问题:1、每个系统都开发各自的身份认证系统,这将造成资源的浪费,消耗开发成本,并延缓开发进度;2、多个身份认证系统会增加系统的管理工作成本; 3、用户需要记忆多个帐户和口令,使用极为不便,同时由于用户口令遗忘而导致的支持费用不断上涨; 4、无法实现统一认证和授权,多个身份认证系统使安全策略必须逐个在不同的系统内进行设置,因而造成修改策略的进度可能跟不上策略的变化; 5、无法统一分析用户的应用行为因此,对于拥有多个业务系统应用需求的政府、企业或机构等,需要配置一套统一的身份认证系统,以实现集中统一的身份认证, 并减少信息化系统的成本。单点登录系统的目的就是为这样的应用系统提供集中统一的身份认证,实现“一点登录、多点漫游、即插即用、应用无关”的目标,方便用户使用。二、CAS简介CAS(Central Authentication Service),是耶鲁大学开发的单点登录系统(SSO,single sign-on),应用广泛,具有独立于平台的,易于理解,支持代理功能。CAS系统在各个大学如耶鲁大学、加州大学、剑桥大学、香港科技大学等得到应用。Spring Framework的Acegi安全系统支持CAS,并提供了易于使用的方案。Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。Acegi安全系统在国内外得到了广泛的应用,有着良好的社区环境。CAS的设计目标(1)为多个Web应用提供单点登录基础设施,同时可以为非Web应用但拥有Web前端的功能服务提供单点登录的功能;(2)简化应用认证用户身份的流程;(3)将用户身份认证集中于单一的Web应用,让用户简化他们的密码管理,从而提高安全性;而且,当应用需要修改身份验证的业务逻辑时,不需要到处修改代码。CAS的实现原理 CAS(Central Authentication Server)被设计成一个独立的Web应用。它目前的实现是运行在HTTPS服务器的几个Java Servlet上(而客户端可以灵活采用http和https的方式)。CAS创建一个位数很长的随机数(ticket)。CAS把这个ticket和成功登录的用户以及用户要访问的service联系起来。例如,如果用户peon重定向自service S,CAS创建ticket T,这个ticket T允许peon访问service S。这个ticket是个一次性的凭证;它仅仅用于peon和仅仅用于service S,并且只能使用一次,使用之后马上会过期,即ticket通过验证,CAS立即删除该ticket,使它以后不能再使用。这样可以保证其安全性。关于ST,在取一个ST时,即使用deleteTicket(ticketId)同时将一次性的ST删除;而对于TGT或PT,则通过resetTimer(ticketId)以更新TGT或PT的时间。在CAS服务端返回的ST中只能得出用户名。下载地址:/三、统一认证配置实现1、基础套件cas-server-3.4.11spring3hibernate3(可选)dbcp(数据库连接池,可选)slf4j(log4j)2、概念1)、 通道安全性图:非ssl(HTTP)图:ssl(HTTPS)单向认证:传输的数据经过加密,但不会校验客户端的来源双向认证:传输的数据经过加密,并需要校验客户端。如果客户端浏览器没有导入客户端证书,则访问不了web系统。2)、CAS服务端3)、CAS客户端4)、应用服务端5)、客户端3、配置实现1.1 Tomcat(http)1)、修改配置将cas-server-webapp-3.4.11.war解压成cas:图1在默认情况下,只要用户名和密码是一样的,就可以登录,因此需要根据实际情况作调整。大多数情况下,应用都将用户信息存放于数据库中,数据库中的用户密码也可能是经过加密的。定位deployerConfigContext.xml,修改认证逻辑,如下图所示:图2图3定位ticketGrantingTicketCookieGenerator.xml,将cookieSecure设为false,即不启用ssl。图4定位warnCookieGenerator.xml,将cookieSecure设为false,即不启用ssl。图52)、发布:将cas文件夹拷至tomcat的wabapps下3)、开发2个应用,验证单点登录的有效性创建名为webdemo1和webdemo2的2个工程应用,2工程应用下各有一个jspdemo.jsp, jsp页面中增加一链接,链接实现工程间的相互切换,然后将cas-client-core-3.2.1.jar、commons-logging-1.1.jar拷到工程的lib目录下。注:(1)、文件的内容及web.xml见实际文件(2)、web.xml中,serverName的参数值为cas客户端(应用服务器)的地址。serverNamelocalhost:80804)、启动tomcat,验证1.2 Tomcat(https)1)、将deployerConfigContext.xml中的p:requireSecure参数设为true。2)、将ticketGrantingTicketCookieGenerator.xml、warnCookieGenerator.xml中的cookieSecure设为true,即启用ssl。(参见图4、图5)3)、制作安全证书,并将证书导入信任的证书库为服务器生成证书:keytool -genkey -alias aeasoft -validity 3650 -keyalg RSA -keysize 512 -keystore aeasoft.keystore -dname cn=localhost,ou=cn,o=cn,l=cn,st=cn,c=cn -storepass changeit -keypass changeit导出证书:keytool -export -alias aeasoft -file aeasoft.crt -storepass changeit -keystore aeasoft.keystore将证书导入jre的证书库:keytool -import -v -trustcacerts -storepass changeit -alias aeasoft -file aeasoft.crt -keystore D:jdk1.6.0_20jrelibsecuritycacerts4)、将证书库拷入conf,并修改tomcat_home/conf/server.xml参数,启用https5)、使用https:/localhost:8443/webdemo1/jspdemo.jsp或者https:/localhost:8443/webdemo2/jspdemo.jsp 访问应用,验证单点配置是否成功。如果不想看到以上提示的界面,右键单击“aeasoft.crt”,然后选择“安装证书”完成证书的安装。1.3 weblogic(https)1)、将证书导入jre的证书库keytool -import -v -trustcacerts -storepass changeit -alias aeasoft -file aeasoft.crt -keystore D:beajrockit90_150_04jrelibsecuritycacerts2) 、检查证书keytool -list -keystore D:beajrockit90_150_04jrelibsecuritycacerts -alias aeasoft3)、启动weblogic,然后配置ssl (开启SSL)(设置证书库)(证书设置)3)、发布webdemo1和webdemo2应用4)、使用https:/localhost:7002/webdemo1/jspdemo.jsp 或https:/localhost:7002/webdemo2/jspdemo.jsp 验证。4、 定制登录页面修改%cas%WEB-INFviewjspdefaultui下的相关文件即可。如果需要更进一步定制登录界面,可参考perties和WEB-INFclasses default_perties。5、 获取用户信息方式1:request.getUserPrincipal().getName() 方式2:request.getRemoteUser()6、 Session的处理一般的web应用:登录成功后,根据用户信息初始化session,有时也可能将一些用户相关的信息缓存到session,提高效率,当然,也可以会采用延迟初始化的策略,在需要时才初始化,这与单点登录后的web应用的处理方式相同。单点登录后的web应用:先判断session(为空或session未缓存信息),再根据用户获取数据并缓存。Object
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法典特色课件
- 山西省太原市育英中学2026届化学高二第一学期期末教学质量检测试题含答案
- 现代管理培训小知识课件
- 2026届江苏省南京一中高一化学第一学期期中达标检测试题含解析
- 民法典模板课件
- 2025年注册电气工程师考试电气设计专项训练考前冲刺卷
- 2025年公务员行测申论写作专项训练卷 文体写作技巧
- 2025年公务员考试行测常识判断时政热点专项训练
- 2025年公务员行测地理知识专项训练冲刺押题
- 2025年春季初级经济师职业资格考试 经济基础知识考前冲刺押题试卷
- 航空行业飞行安全手册
- 维修电子设备合同协议
- 微信电子欠条协议书模板
- 微信视频号账号协议合同
- 运输公司值班管理制度
- 编译原理教案
- 2024年7月廉洁警示教育
- 中国诗词文化概论课件
- 第46届世界技能大赛贵州省选拔赛美容技术文件
- 北京利达主机JB-QB-LD128E(Q)
- 股份制公司章程样本
评论
0/150
提交评论