[发明专利]一种基于CAS统一认证服务中间件的SSO认证方法有效
申请号: | 201710105818.3 | 申请日: | 2017-02-24 |
公开(公告)号: | CN106685998B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 龚旭敏;袁帅;赵剑锋;堵成杰;徐立;王行广;赵剑猛;王峰 | 申请(专利权)人: | 浙江仟和网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 33224 杭州天勤知识产权代理有限公司 | 代理人: | 胡红娟 |
地址: | 310004 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于CAS统一认证服务中间件的SSO认证方法,用户在首次登陆时,由中间件负责拦截并存储请求返回的TGT,当用户在客户端端需要调用其他系统接口时,由中间件负责判断是否已经登录过此系统,若未登录,则先用之前的TGT去CAS换取对应系统的Ticket,进而完成对该系统认证工作,之后再调用该接口。本发明使得原先基于浏览器重定向机制的CAS认证方式,可以很方便的在客户端上使用,方便在一些C/S架构中实现一次登录随意调用的效果,保证了良好的用户体验,实现了自动登录,会话维持,过期重试等功能,帮助传统系统轻松开发App等类型客户端。 | ||
搜索关键词: | 一种 基于 cas 统一 认证 服务 中间件 sso 方法 | ||
【主权项】:
1.一种基于CAS统一认证服务中间件的SSO认证方法,其特征在于,在CAS系统中布置UAS中间件,具体实现如下:/n(1)当用户端向CAS服务器提交登录请求时,由所述UAS中间件负责拦截该请求并进行转发,同时存储CAS服务器返回的TGT,具体实现过程为:用户端向CAS服务器提交登录请求,UAS中间件拦截到该请求后先建立与用户端的唯一会话,然后将登录请求转发至CAS服务器;若CAS服务器验证通过,则UAS中间件获取CAS服务器返回的TGT和会话Cookie,并将TGT、会话Cookie以及当前登录用户的用户名存储于用户端在UAS中间件的Session中,最后向用户端返回其与UAS中间件的会话Cookie;若CAS服务器验证失败,则UAS中间件直接向用户端返回验证失败信息;/n(2)当用户端访问CAS客户端的服务接口时,同样由UAS中间件负责拦截其http请求,通过调用会话Cookie访问服务接口以获取响应结果并转发给用户端;其中若用户端为首次访问,UAS中间件则利用所述TGT从CAS服务器换取到ST,进而利用ST从对应的CAS客户端换取得到所述的会话Cookie,具体实现过程为:当用户端访问CAS客户端的服务接口,UAS中间件拦截到对应的http请求后先从该用户端在UAS中间件的Session中查找是否存有对应CAS客户端的会话Cookie;/n若有,则UAS中间件调用该会话Cookie并将其加入至所述http请求的请求头中,然后执行请求访问服务接口,并将服务接口所返回的响应结果转发给用户端;/n若没有,则UAS中间件从Session取出该用户的TGT并去CAS服务端换取对应CAS客户端的ST,进而携带该ST访问对应的CAS客户端,CAS客户端则访问CAS服务端以验证该ST是否合法,若合法则会给予UAS中间件一个会话Cookie,UAS中间件先将该会话Cookie存储于Session中,然后调用该会话Cookie并将其加入至所述http请求的请求头中,进而执行请求访问服务接口,并将服务接口所返回的响应结果转发给用户端;/n若UAS中间件调用会话Cookie访问服务接口失败,则表明该会话Cookie 已失效,此时UAS中间件并不直接把代理访问错误的信息返回给用户端,而是从Session取出该用户的TGT并去CAS服务端换取对应CAS客户端的ST,进而携带该ST访问对应的CAS客户端,以获取新的会话Cookie对服务接口进行访问;若UAS中间件持有TGT无法从CAS服务器换取到ST,则表明该TGT已过期,此时UAS中间件直接告知用户端“会话过期,需要重新登录”,则用户端根据步骤(1)重新进行登录;/n所述的UAS中间件设置有定时保活程序,即用户端首次向CAS服务器提交登录请求时,UAS中间件拦截到该请求后保存该用户的用户名和密码,并定期访问CAS服务器获取TGT,以保证该用户的TGT是最新的;同时若UAS中间件持有TGT无法从CAS服务器换取到ST,此时UAS中间件并不直接告知用户端“会话过期,需要重新登录”,而是利用该用户的用户名和密码访问CAS服务器获取新的TGT,进而利用新的TGT从CAS服务器换取ST;/n所述UAS中间件布置于用户端,其通过Interceptor拦截器以及Redis、Sqlite或Realm的存储方案来实现;/n所述CAS即Central Authentication Service,表示中央认证服务;所述SSO即SingleSign On,表示单点登录;所述TGT即Ticket Grangting Ticket,是CAS为用户签发的登录票据;所述ST即Service Ticket,表示服务令牌;所述UAS即Uniform AuthenticationService,表示统一认证服务。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江仟和网络科技有限公司,未经浙江仟和网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710105818.3/,转载请声明来源钻瓜专利网。
- 上一篇:背包(3)
- 下一篇:手机保护壳(TPU)