- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何设计一个通用的权限管理系统
集中式认证服务(英语:Central Authentication Service,缩写CAS)是一种针对万维网的单点登录协议。它的目的是允许一个用户访问多个应用程序,而只需供应一次凭证。
1.1、名词概念
CAS的核心就是其Ticket,及其在Ticket之上的一系列处理操作。CAS的次要票据有TGT、ST、PGT、PGTIOU、PT,其中TGT、ST是CAS1.0(基础模式)协议中就有的票据,PGT、PGTIOU、PT是CAS2.0(代理模式)协议中有的票据。这些票据谁生成得了?确定是有相关服务的,次要服务有:KDC,AS,TGS。两者媒介确定也是有的:TGC。
1.1.1、CAS的Ticket
1)TGT(Ticket Granting Tieckt)
TGT是CAS(具体为 KDC 的 AS 发放)为用户签发的登录票据,拥有了TGT,用户就可以证明本人在CAS成功登录过。TGT封装了Cookie值以及此Cookie值对应的用户信息。用户在CAS认证成功后,CAS生成cookie,写入扫瞄器,同时生成一个TGT对象,放入本人的缓存,TGT对象的ID就是cookie的值。当HTTP再次恳求到来时,假如传过来的有CAS生成的cookie,则CAS以此cookie值为key查询缓存中有无TGT ,假如有的话,则说明用户之前登录过,假如没有,则用户需要重新登录。
简而言之,即猎取这样一张票据后,以后申请各种其他服务票据 (ST) 便不必再向 KDC 提交身份认证信息 ( 精确?????术语是 Credentials) 。
2)ST(Service ticket)
ST是CAS(由 KDC 的 TGS 发放)为用户签发的访问某一service的票据。
用户访问service时,service发觉用户没有ST,则要求用户去CAS猎取ST。用户向CAS发出猎取ST的恳求,假如用户的恳求中包含cookie,则CAS会以此cookie值为key查询缓存中有无TGT,假如存在TGT,则用此TGT签发一个ST,前往给用户。用户凭仗ST去访问service,service拿ST去CAS验证,验证通过后,允许用户访问资源。
任何一台 Workstation 都需要拥有一张有效的 Service Ticket 才能访问域内部的应用 (Applications) 。假如能正确接收 Service Ticket ,说明在 CASClient-CASServer 之间的信任关系已经被正确建立起来。
3)PGT(Proxy Granting Ticket)
Proxy Service的代理凭据。用户通过CAS成功登录某一Proxy Service后,CAS生成一个PGT对象,缓存在CAS本地,同时将PGT的值(一个UUID字符串)回传给Proxy Service,并保存在Proxy Service里。Proxy Service拿到PGT后,就可以为Target Service(back-end service)做代理,为其申请PT。
4)PT(Proxy Ticket)
PT是用户访问Target Service(back-end service)的票据。假如用户访问的是一个Web应用,则Web应用会要求扫瞄器供应ST,扫瞄器就会用cookie去CAS猎取一个ST,然后就可以访问这个Web应用了。假如用户访问的不是一个Web应用,而是一个C/S结构的应用,由于C/S结构的应用得不到cookie,所以用户不能本人去CAS猎取ST,而是通过访问proxy service的接口,凭仗proxy service的PGT去猎取一个PT,然后才能访问到此应用。
TGT、ST、PGT、PT之间关系的总结
1:ST是TGT签发的。用户在CAS上认证成功后,CAS生成TGT,用TGT签发一个ST,ST的ticketGrantingTicket属性值是TGT对象,然后把ST的值redirect到客户应用。
2:PGT是ST签发的。用户凭仗ST去访问Proxy service,Proxy service去CAS验证ST(同时传递PgtUrl参数给CAS),假如ST验证成功,则CAS用ST签发一个PGT,PGT对象里的ticketGrantingTicket是签发ST的TGT对象。
3:PT是PGT签发的。Proxy service代理back-end service去CAS猎取PT的时候,CAS依据传来的pgt参数,猎取到PGT对象,然后调用其grantServiceTicket方法,生成一个PT对象。
1.1.2、CAS的服务
CAS的次要服务有:
KDC(Key Distribution Center );
AS(Authentication
文档评论(0)