用于单点登录的处理方法和系统技术方案

技术编号:7506264 阅读:137 留言:0更新日期:2012-07-11 05:33
本申请提供了一种用于跨域单点登录的方法和系统。该方法包括:接收来自用户对一个服务提供者的请求,根据所述请求的类型,向相应的服务提供者转发所述请求,响应于从所述服务提供者接收到对所述请求的响应,处理所述响应,以及,将所述处理后的响应转发给所述用户。通过采用本申请的方法和系统,引入单点登录管理代理作为统一的用户会话生命周期管理,包括会话过期的检测与恢复、注销、URL映射、错误处理、访问控制等操作,有效地提高了服务的可用性、安全性、功能连续性以及用户体验等。

【技术实现步骤摘要】

本专利技术涉及单点登录,尤其涉及一种用于跨域单点登录的方法和系统。
技术介绍
单点登录(Single Sign On, SS0)是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在相互信任的多个应用系统或服务中,用户只需要登录一次即可访问所有应用系统或服务。在用户第一次访问一个应用程序、例如服务1时,会被引导到认证系统进行登录操作,认证系统对用户进行身份验证之后,返回给用户一个令牌(token)或票据 (ticket)作为认证凭据,这样,用户再访问其他应用程序、例如服务2的时候,带上这个令牌,服务2在收到来自的用户请求之后,把用户提供的令牌送到认证系统进行验证,检查令牌的合法性。如果通过验证,则用户无需再次登录即可访问服务2或其他服务。用于在实现跨门户的跳转时,处于不同域的不同门户之间的用户信息的传递需要通过跨域单点登录(Cross Domain SS0, CDSS0)来实现。现有已有各种不同的技术来实现跨域单点登录,然而,在传统的跨域单点登录技术中,用户在集成的各种应用中会话生命周期不同步,造成用户无法连续使用该集成方案, 例如,如果用户在服务1上的会话没有过期,但在服务2上的会话过期了,则完成在服务1 上的处理之后,无法继续在服务2上处理。另外,现有的单点登录技术依赖于客户端浏览器的自动跳转,当用户从一个应用上注销时,需要在用户的浏览器内遍历所有应用的注销页面,用户体验很差;而且,如果用户在浏览器完成所有跳转之前强行关闭,将造成安全性问题。
技术实现思路
因此,本专利技术提供了对传统的跨域单点登录技术进行改进的方法和系统。根据本专利技术的一个实施例,提供了一种用于单点登录的处理方法,其中,用户所要访问的至少一个服务提供者位于至少一个域上。所述方法包括接收来自用户的对所述至少一个服务提供者的用户请求;根据所述请求的类型,处理所述请求;向所述至少一个服务提供者发送所述处理后的用户请求;接收来自所述至少一个服务提供者的响应;以及, 向所述用户发送对所述用户请求的响应。。根据本专利技术的另一个实施例,提供了一种用于跨域单点登录的系统,其中,用户所要访问的至少一个服务提供者位于至少一个域上。所述系统包括接收来自用户的对所述至少一个服务提供者的用户请求的装置;根据所述请求的类型、处理所述请求的装置;向所述至少一个服务提供者发送所述处理后的用户请求的装置;接收来自所述至少一个服务提供者的响应的装置;以及,向所述用户发送对所述用户请求的响应的装置。通过采用本专利技术的方法和系统,引入单点登录管理代理作为统一的用户会话生命周期管理,包括会话过期的检测与恢复、注销、URL映射、错误处理、访问控制等操作,有效地提高了服务的可用性、安全性、功能连续性以及用户体验等。附图说明通过对附图中本专利技术示例实施例方式的更详细描述,本专利技术的上述、以及其它目的、特征和优势将变得更加明显。图1显示了根据本专利技术的一个实施例的用于跨域单点登录的处理方法的流程图。图2显示了根据本专利技术的另一个实施例的用于跨域单点登录的处理方法的流程图。图3显示了根据本专利技术的一个实施例的用于跨域单点登录的管理代理系统300的方框图。图4显示了根据本专利技术的一个实施例的跨域单点登录的首次访问过程。图5显示了根据本专利技术的一个实施例的跨域单点登录的注销过程。图6显示了根据本专利技术的一个实施例的跨域单点登录的会话过期的操作过程。具体实施例方式以下参照按照本专利技术实施例的方法、装置描述本专利技术。其中,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器, 从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means) 的制造品。还可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。本专利技术的用于跨域单点登录的处理方法和系统采用一个SSO管理代理作为统一的用户会话生命周期管理,来自用户对服务的请求以及来自服务的对用户请求的响应都通过该SSO管理代理进行处理,使得用户在集成的各种应用中会话生命周期是同步的,有效地提高了服务的功能连续性。图1显示了根据本专利技术的一个实施例的用于单点登录的处理方法。其中,用户所要访问的至少一个服务提供者可以位于不同的域上。首先,在步骤S110,接收来自用户对一个服务提供者的用户请求。在步骤S120,根据所述请求的类型,处理所述请求。其中,可以根据所述请求是何种操作或者请求何种应用来确定该请求的类型,例如,所述请求是针对哪一个服务提供者提出的请求,该请求是首次访问(登录)请求、注销请求还是一般的访问请求,等等。在步骤S130,向该处理后的用户请求发送给相应的服务提供者,从后面对本专利技术的具体实施例可以看到,根据不同的请求,这个相应的服务提供者可以是用户请求所针对的服务提供者,也可以包括其他相关的服务提供者,例如,在注销请求的情况下,不仅向CN 102546570 A所请求的服务提供者发送注销请求,还可以向与用户具有活跃会话的其他服务提供者也发送注销请求,以保证会话周期的一致性。在步骤S140,接收来自服务提供者的响应。在步骤 S150,将所述对用户请求的响应发送给所述用户。在上面参考图1所描述的过程中,用户的请求可以是首次访问请求、注销请求、一般访问请求等等。下面将参考附图2详细描述根据本专利技术的另一个实施例的在各个请求类型下如何进行处理的过程。图2显示了根据本专利技术的另一个实施例的跨域单点登录的处理方法。首先,与前面参考附图1所描述的步骤SllO —样,在步骤S210接收来自用户的一个服务器提供者的请求。在步骤S220,确定所述请求的类型。如果所述请求是一个首次访问请求,例如,是用户对服务提供者SPl的首次访问请求,则流程进行到步骤S230,执行首次访问操作。如果所述请求是一个注销请求,例如,是用户对服务提供者SPl的注销请求,则流程进行到步骤 S240,执行注销操作。如果所述请求是一个一般的访问请求,则流程进行到步骤S250进行处理。在步骤S250,判断在所请求的服务提供者上的会话是否过期,如果会话未过期,则进行到步骤S270进行一般访问处理,如果会话已过期,则在步骤S260确定是重新激活与该服务提供者的操作还是注销所述会话,如果确定重新激活,则进行到步骤S230,通过与处理登录请求相同的操作来重新激活,如果确定要注销所述会话,则进行到步骤S240,执行注销处理。根据本申请的一个实施例,如果在所请求的服务提供者上的所述会话已过期,则在步骤S260判断当前是否存在用户与其他服务提供者的活动会话,如果存在则重新激活用户与所述服务提供者的会话。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于单点登录的处理方法,其中,用户所要访问的至少一个服务提供者位于至少一个域上,包括接收来自用户的对所述至少一个服务提供者的用户请求; 根据所述请求的类型,处理所述请求; 向所述至少一个服务提供者发送所述处理后的用户请求; 接收来自所述至少一个服务提供者的响应;以及向所述用户发送对所述用户请求的响应。2.如权利要求1所述的方法,所述根据所述请求的类型,处理所述请求进一步包括如果所述请求是对所述至少一个服务提供者的首次访问请求,产生访问所述至少一个服务提供者的单点登录令牌,并将所述单点登录令牌加入所接收的用户请求,以产生处理后的用户请求。3.如权利要求1所述的方法,所述根据所述请求的类型,处理所述请求进一步包括如果所述请求是对所述至少一个服务提供者的注销请求,生成要发送给所述至少一个服务提供者的注销请求,并且,确定与所述用户具有活动会话的其他服务提供者,其中,所述方法进一步包括,生成要发送给所述其他服务提供者的注销请求,以及,向其他具有活动会话的服务提供者发送注销请求,以便将用户从其他具有活动会话的服务提供者注销。4.如权利要求1-3中任何一个所述的方法,如果所述请求是一般访问请求,根据所述来自所述至少一个服务提供者的响应判断在所请求的服务提供者上的会话是否过期。5.如权利要求4所述的方法,所述方法进一步包括,如果在所请求的服务提供者上的所述会话已过期,则判断当前是否存在用户与其他服务提供者的活动会话,如果存在则产生激活用户与所请求的服务提供者的会话的请求,作为处理后的用户请求。6.如权利要求4所述的方法,所述方法进一步包括,如果在所请求的服务提供者上的所述会话已过期,并且所述过期已经超过一个预定的时间阈值,则产生注销所述会话以及用户与其他服务提供者的活动会话的请求,作为处理后的用户请求。7.如权利要求1-3中任何一个所述的方法,进一步包括,响应于接收到来自用户的对所述至少一个服务提供者的用户请求,检查所请求的资源是否属于用户访问受限资源,如果是则不允许用户访问该资源。8.如权利要求1-3中任何一个所述的方法,进一步包括,响应于从所述至少一个服务提供者接收到所述服务提供者发生错误的响应,根据预定策略,向用户发送一个错误处理网页。9.如权利要求1-3中任何一个所述的方法,进一步包括,将从所述服务提供者接收到的对所述请求的响应的URL转换为统一域的URL,作为对所述用户请求的响应。10.一种用于单点登录的系统,其中,用户所要访问的至少一个服务提供者位于至少一个域上,所述系统包括接收来自用户...

【专利技术属性】
技术研发人员:邹林志陈荔龙
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术