集成框架中使用CAS实现单点登录技术方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

集成框架中使用CAS实现单点登录技术方案1、文档摘要.................................................................................................................................................31.1文档分类........................................................................................................................................31.2关键字............................................................................................................................................31.3使用SSO的最终目的................................................................................................................31.4摘要.................................................................................................................................................31.5参考................................................................................................................................................31.5修改历史........................................................................................................................................42、技术方案.................................................................................................................................................52.1问题或场景...................................................................................................................................52.2webSSO的原理...........................................................................................................................52.3CAS的基本原理..........................................................................................................................62.4CAS协议........................................................................................................................................72.5配置一个基本的CAS...............................................................................................................82.5.1准备工作...........................................................................................................................82.5.2配置CAS服务器............................................................................................................82.5.3配置jboss服务器使用https协议..............................................................................92.5.4配置cas客户端.............................................................................................................102.5.5测试SSO.........................................................................................................................132.6扩展认证接口及与数据库结合验证..................................................................................132.6.1如何做扩展部署............................................................................................................142.6.2如何获取登录的用户名..............................................................................................203、问题或不足..........................................................................................................................................214、改进意见...............................................................................................................................................215、附件........................................................................................................................................................211、文档摘要1.1文档分类技术方案---关于单点登录1.2关键字SSO、YaleCAS1.3使用SSO的最终目的1、实现一个易用的、能跨不同Web应用的单点登录认证中心;2、实现统一的用户身份和密钥管理,减少多套密码系统造成的管理成本和安全漏洞;3、降低认证模块在IT系统设计中的耦合度,提供更好的SOA设计和更弹性的安全策略1.4摘要本文描述如何实现多应用系统下的单点登录具体实现方案1.5参考YaleCAS网站()及网络相关技术文档1.5修改历史日期版本作者修改内容评审号更改请求号2008-6-181.0许建飞创建2、技术方案2.1问题或场景假设目前有多个WEB应用系统,采用不同的语言开发,部署在不同的服务器上;每个系统分别管理着自己的用户。那么,客户在使用不同系统时就必须在不同的系统之间切换,反复的输入不同的用户名和密码。在系统集成时如何使用户只需要认证一次就能登入各个不同的系统?那么就必须采用用户身份集中管理、统一认证,这就涉及到单点登录(singlesign-onSSO)的问题了。2.2webSSO的原理WebSSO主要特点是,SSO应用之间走Web协议(如HTTP/SSL),并且SSO都只有一个登录入口。j简单的SSO的体系中,会有下面三种角色:1User(多个)2Web应用(多个)3SSO认证中心(1个)虽然SSO实现模式千奇百怪,但万变不离其宗:1、Web应用不处理User的登录,否则就是多点登陆了,所有的登录都在SSO认证中心进行。2、SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是张三/李四。3、SSO认证中心和所有的Web应用建立一种信任关系,SSO认证中心对用户身份正确性的判断会通过某种方法告之Web应用,而且判断结果必须被Web应用信任。2.3CAS的基本原理从结构体系看,CAS包含两部分:CASServerCASServer负责完成对用户的认证工作,CASServer需要独立部署,有不止一种CASServer的实现,YaleCASServer和ESUPCASServer都是很不错的选择。CASServer会处理用户名/密码等凭证(Credentials),它可能会到数据库检索一条用户帐号信息,也可能在XML文件中检索用户密码,对这种方式,CAS均提供一种灵活但同一的接口/实现分离的方式,CAS究竟是用何种认证方式,跟CAS协议是分离的,也就是,这个认证的实现细节可以自己定制和扩展。CASClientCASClient负责部署在客户端(注意,我是指Web应用),原则上,CASClient的部署意味着,当有对本地Web应用的受保护资源的访问请求,并且需要对请求方进行身份认证,Web应用不再接受任何的用户名密码等类似的Credentials,而是重定向到CASServer进行认证。目前,CASClient支持(某些在完善中)非常多的客户端,包括Java、.Net、ISAPI、Php、Perl、uPortal、Acegi、Ruby、VBScript等客户端,几乎可以这样说,CAS协议能够适合任何语言编写的客户端应用。2.4CAS协议CASClient与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源。对于访问受保护资源的每个Web请求,CASClient会分析该请求的Http请求中是否包含ServiceTicket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的CASServer登录地址,并传递Service(也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第3步中输入认证信息,如果登录成功,CASServer随机产生一个相当长度、唯一、不可伪造的ServiceTicket,并缓存以待将来验证,之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个TicketGrantedCookie(TGC),CASClient在拿到Service和新产生的Ticket过后,在第5,6步中与CASServer进行身份合适,以确保ServiceTicket的合法

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功