您好,欢迎访问三七文档
CAS实现SSO单点登录目录/CONTENTS01CAS简介02SSO单点登录原理03CAS的基本原理04CAS安全性1、开源的、多协议的SSO解决方案;Protocols:CustomProtocol、CAS、OAuth、OpenID、RESTfulAPI、SAML1.1、SAML2.0等。2、支持多种认证机制:ActiveDirectory、JAAS、JDBC、LDAP、X.509Certificates等;3、安全策略:使用票据(Ticket)来实现支持的认证协议;4、支持授权:可以决定哪些服务可以请求和验证服务票据(ServiceTicket);5、提供高可用性:通过把认证过的状态数据存储在TicketRegistry组件中,这些组件有很多支持分布式环境的实现,如:BerkleyDB、Default、EhcacheTicketRegistry、JDBCTicketRegistry、JBOSSTreeCache、JpaTicketRegistry、MemcacheTicketRegistry等;6、支持多种客户端:Java、.Net、PHP、Perl、Apache,uPortal等。CAS简介主要特性单点登录(SingleSign-On,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。SSO单点登录原理什么是SSOSSO认证中心(1个)User(多个)Web应用(多个)SSO原理SSO体系中的角色SSO认证中心和所有的Web应用建立一种信任关系,也就是说web应用必须信任认证中心。(单点信任)SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是已通过认证的用户所有的认证登录都在SSO认证中心进行SSO原理SSO实现模式的原则CASServerCASClientCASServer负责完成对用户的认证工作,需要独立部署,CASServer会处理用户名/密码等凭证(Credentials)负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到CASServer进行认证。(原则上,客户端应用不再接受任何的用户名密码等Credentials)。CASClient与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源。CAS的基本原理结构体系基础模式SSO访问流程主要有以下步骤:1.访问服务:SSO客户端发送请求访问应用系统提供的服务资源。2.定向认证:SSO客户端会重定向用户请求到SSO服务器。3.用户认证:用户身份认证。4.发放票据:SSO服务器会产生一个随机的ServiceTicket。5.验证票据:SSO服务器验证票据ServiceTicket的合法性,验证通过后,允许客户端访问服务。6.传输用户信息:SSO服务器验证票据通过后,传输用户认证结果信息给客户端。CAS原理和协议什么是SSOCAS原理和协议CAS请求认证时序图CAS原理和协议CAS如何实现SSO当用户访问另一个应用的服务再次被重定向到CASServer的时候,CASServer会主动获到这个TGCcookie,然后做下面的事情:1)如果User持有TGC且其还没失效,那么就走基础协议图的Step4,达到了SSO的效果;2)如果TGC失效,那么用户还是要重新认证(走基础协议图的Step3)。CAS原理和协议CAS代理模式该模式形式为用户访问App1,App1又依赖于App2来获取一些信息,如:User--App1--App2。这种情况下,假设App2也是需要对User进行身份验证才能访问,那么,为了不影响用户体验(过多的重定向导致User的IE窗口不停地闪动),CAS引入了一种Proxy认证机制,即CASClient可以代理用户去访问其它Web应用。代理的前提是需要CASClient拥有用户的身份信息(类似凭据)。之前我们提到的TGC是用户持有对自己身份信息的一种凭据,这里的PGT就是CASClient端持有的对用户身份信息的一种凭据。凭借TGC,User可以免去输入密码以获取访问其它服务的ServiceTicket,所以,这里凭借PGT,Web应用可以代理用户去实现后端的认证,而无需前端用户的参与。下面为代理应用(helloService)获取PGT的过程:(注:PGTURL用于表示一个Proxy服务,是一个回调链接;PGT相当于代理证;PGTIOU为取代理证的钥匙,用来与PGT做关联关系;)CAS原理和协议CAS代理模式代理认证和提供服务的过程CAS安全性TGC/PGT安全性对于一个CAS用户来说,最重要是要保护它的TGC,如果TGC不慎被CASServer以外的实体获得,Hacker能够找到该TGC,然后冒充CAS用户访问所有授权资源。PGT的角色跟TGC是一样的。从基础模式可以看出,TGC是CASServer通过SSL方式发送给终端用户,因此,要截取TGC难度非常大,从而确保CAS的安全性。TGT的存活周期默认为120分钟。CAS安全性ST/PT安全性ST(ServiceTicket)是通过Http传送的,因此网络中的其他人可以Sniffer到其他人的Ticket。CAS通过以下几方面来使ST变得更加安全(事实上都是可以配置的):1、ST只能使用一次CAS协议规定,无论ServiceTicket验证是否成功,CASServer都会清除服务端缓存中的该Ticket,从而可以确保一个ServiceTicket不被使用两次。2、ST在一段时间内失效CAS规定ST只能存活一定的时间,然后CASServer会让它失效。默认有效时间为5分钟。3、ST是基于随机数生成的ST必须足够随机,如果ST生成规则被猜出,Hacker就等于绕过CAS认证,直接访问对应的服务。PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:论坛:感谢聆听批评指导
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:cas实现单点登录
链接地址:https://www.777doc.com/doc-3361392 .html