用于单点登录的处理方法和系统的制作方法

文档序号:7898390阅读:523来源:国知局
专利名称:用于单点登录的处理方法和系统的制作方法
技术领域
本发明涉及单点登录,尤其涉及一种用于跨域单点登录的方法和系统。
背景技术
单点登录(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判断当前是否存在用户与其他服务提供者的活动会话,如果存在则重新激活用户与所述服务提供者的会话。或者,根据本申请的另一个实施例,如果在所请求的服务提供者上的所述会话已过期,并且该会话过期的时间已经超过一个预定的阈值时间,则注销用户与该服务提供者的会话以及用户与其他服务提供者的会话。如果会话过期的时间还未超出该阈值时间,并且同时还存在用户与其他服务提供者的活动会话,则重新激活用户与该服务提供者的会话。在步骤S280,根据所述处理结果,将相应的响应返回给用户。根据本发明的一个实施例,SSO管理代理可以将所述服务提供者返回的响应的 URL转换到统一的域上,并将转换后的响应提供给用户,这样,用户看到的URL都是经过SSO 管理代理转换的在统一域上的URL,其可放入收藏夹的URL也都是一致,就像在使用单一域的单个应用一样,用户体验更佳。根据本发明的一个实施例,在图2的执行注销操作的步骤中,在收到用户关于从所请求的服务提供者注销的请求后,SSO管理代理将所述注销请求转送给该服务提供者,并且在接收到来自该服务提供者的注销响应后,还通过SSO管理代理向其他具有活动会话的服务提供者发送注销请求,以便将用户从其他具有活动会话的服务提供者注销,最后将注销成功的消息返回给用户。在这种情况下,用户不会感觉到在多个继承的应用注销页面之间跳转,而是多个应用无缝集成就像单一域的一个应用一样。因此,在进行注销时,不会出现不同应用注销页面来回跳转或者忘记注销某个应用的问题。用户体验更佳,安全性更高。
图3显示了根据本发明的一个实施例的用于单点登录的SSP管理代理系统300的方框图。如图3所示,该单点登录(SSO)管理代理系统可以包括代理装置310和请求处理装置320,其中,请求处理装置320中包括URL拦截器,用于拦截来自用户的请求。代理装置 310用于接收来自用户对一个服务提供者的请求,将用户请求转发给相应的服务提供者,以及将来自服务提供者的请求转发给用户等等,如前面所述,所述请求可以是针对特定服务提供者提出的首次访问请求、注销请求或者一般的访问请求等。请求处理装置根据不同的请求类型,对来自服务提供者的对用户请求的响应进行不同的处理。下面将结合附图4-6中所示的具体实施例分别详细描述根据本发明的实施例的登录处理、一般访问处理以及注销处理。图4显示了根据本发明的一个实施例的跨域单点登录的登录过程。首先,用户已经登录一个MaS门户网站,想要通过浏览器访问服务提供商SPl的服务。该用户访问SPl 的http请求被SSO管理代理系统所截获,例如,被SSO管理代理中的URL拦截器发现。如果URL拦截器发现用户并没有SPl上的http会话,则准备帮用户产生http会话。这些行为对于用户来说都是透明的。例如,会话管理器可以通过从中央密钥库获取密钥,来产生spl 认可的令牌,从而为该用户产生SPl的确认令牌。SSO管理代理系统向SPl发送用户的访问请求,并附上确认的令牌。SPl验证该令牌,为用户产生SPl的http会话,并将用户请求的资源(如一个网页)返回给SSO管理代理系统,该SSO管理代理系统将所述资源返回给客户的浏览器,用户浏览到想要浏览的资源。上述通过SSO管理代理系统访问SPl上的过程对用户是完全透明的。其中,根据本发明的一个实施例,该SSO管理代理系统在接收到SPl所返回的资源之后,可以将该资源的URL转换到统一的域上,并将转换后的URL返回给客户的浏览器,使得用户对于不同服务提供者所提供的服务,所看到的和可放入收藏夹的URL都是一致的, 就像在使用单一域的单个应用一样。例如,根据本发明的一个实施例的SSO登录过程的示例如下1)用户登录服务1,SSO管理代理截获用户请求并转发至服务提供者SPl提供的服务1,认证成功建立用户会话后,SSO管理代理作为代理将服务1的URL转换到统一的域上,将从服务1得到的响应返回给用户。2)用户接着访问服务提供者SP2提供的服务2,SSO管理代理截获用户请求,发现用户已经成功登录,生成SSO令牌并转发至服务2建立用户会话,SSO管理代理作为代理将服务2的URL映射到统一的域上,将从服务2得到的响应返回给用户。在这种情况下,用户看到的URL都是经过SSO管理代理转换的统一域的URL,对于不同的服务来说,用户看到的URL都是一致的,就像在使用单一域的单个应用一样,用户体验更佳。图5显示了根据本发明的一个实施例的跨域单点登录的注销过程。首先,在用户浏览服务提供者SPl网站上的网页时,如果用户想要注销,点击SPl上的注销链接,从而提出从SPl注销的注销请求。这时,注销的动作被URL拦截器观察到,为了保证用户的网络安全,SSO管理代理需要同时注销用户在其他所有服务提供者上的会话,来保持会话的一致性。如果不这样做,黑客可能会用他的浏览器输入URL,访问其中的一个服务提供者,从而以用户的身份进行操作,对用户的网络安全造成威胁。因此,在发现用户的注销请求之后,SSO管理代理查询用户在其他服务提供者上的会话是否是活动有效的,如果是,则需要同时注销在其他服务提供者上的会话。SSO管理代理发送注销命令给所有服务提供者的服务器, 这些服务提供者注销用户会话,并向SSO管理代理返回确认。SSO管理代理然后向用户发送用户注销的消息。这样,虽然用户只在服务提供者SPl网站上注销,实际上已经在所有服务提供者网站上注销。例如,根据本发明的一个实施例的一个注销过程的示例如下,其中假定用户已经使用浏览器成功单点登录(SSO),可以访问包括服务1和服务2的集成的解决方案1)用户访问服务1,SSO管理代理截获用户请求并转发至服务1,确认用户在服务 1上的会话是活动有效的,SSO管理代理作为代理访问服务1并将得到的响应返回给用户。2)用户接着访问服务2,SSO管理代理截获用户请求并转发至服务2,确认用户在服务2上的会话是活动有效的,SSO管理代理作为代理访问服务2并将得到的响应返回给用户。3)用户在服务1上注销,SSO管理代理截获用户请求,并自动注销所有用户会话处于活跃的服务,如服务2和服务1,最后将注销成功的消息返回给用户。在这种情况下,用户不会感觉到在多个继承的应用注销页面之间跳转,而是多个应用无缝集成就像单一域的一个应用一样。因此,在进行注销时,不会出现不同应用注销页面来回跳转或者忘记注销某个应用的问题。用户体验更佳,安全性更高。图6显示了根据本发明的一个实施例的跨域单点登录的会话过期的操作过程。如果用户已经登录SPl服务,并在离开一段时间之后想要再次访问SP1,则将访问请求发送给 SSO管理代理。SSO管理代理将所述请求转发给SPl。SPl的响应是,用户的会话在SPl上已经过期,SPl向SSO管理代理发送指向会话过期页面的重定向请求。SSO管理代理接收到该会话过期事件后,根据预先存储的策略,确定是激活用户在SPl上的会话还是注销该会话。 如果确定要激活用户在SPl上的会话,则可以利用前面所描述的用于首次访问SPl的方法来产生SPl的用户单点登录令牌。SSO管理代理向SPl发送产生的SPl用户单点登录令牌及原始的请求资源。在SP1,用户会话被激活,并返回用户请求的资源。例如,根据本发明的一个实施例的一个会话过期的操作过程的示例如下,其中假定用户已经使用浏览器成功单点登录,可以访问包括服务1和服务2的集成的解决方案1)用户访问服务1,SSO管理代理截获用户请求并转发至服务1,确认用户在服务 1上的会话是活动有效的,SSO管理代理作为代理访问服务1并将得到的响应返回给用户。2)用户接着访问服务2,SSO管理代理截获用户请求并转发至服务2,确认用户在服务2上的会话是活动有效的,SSO管理代理作为代理访问服务2并将得到的响应返回给用户。3)用户在服务2停留一段时间后,再次访问服务1,SSO管理代理截获用户请求并转发至服务1。因为已经有较长时间没有访问服务1,服务1上的用户会话过期。SSO管理代理确认虽然在服务1上的用户会话已经过期,但对于整个集成应用来说用户的会话仍然是活动的,所以从自身包含的身份提供程序中获取用户SSO令牌,自动重新建立用户在服务1上的会话。然后,SSO管理代理作为代理访问服务1并将得到的响应返回给用户。因此,不会出现用户能访问服务2,但服务1却超时过期必须重新登录的情况。用户不会体验到会话过期和恢复的过程,继续使用整个跨域的集成的解决方案。用户体验更
8佳,对集成的解决方案满意度更强。并且,不同应用在被集成到一个统一的解决方案后,有一致的会话过期管理,避免出现会话生命周期不同步的问题,安全性更好,如购物网站和支付系统的集成。不同应用在被集成到一个统一的解决方案后,功能之间的流转衔接不会因为会话生命周期不同步而中断,因而可以降低客户技术支持成本。根据本发明的一个实施例,还可以通过SSO管理代理系统进行中央授权检查。 例如,如果用户想要访问服务提供者SPl上的某个资源,例如,其路径为$ {context}/ constraint-service-1,则SSO管理代理系统接收到用户的该请求后,检查所请求的URL是否属于用户访问受限资源,如果是则不允许用户访问该资源,并由代理向用户返回一个页面,提示权限不足以访问SPl的资源。根据本发明的一个实施例,还可以通过SSO管理代理系统进行中央错误处理。例如,用户向代理发送一个想要访问服务提供者SPl资源的请求,代理将该请求转发给SP1。 如果SPl服务器此时刚好发生错误,则返回发生错误的响应(500http response) 0这时, SSO管理代理系统根据预定策略,可以重定向用户浏览器到一个错误处理网页;发送警告给服务提供商SPl的管理员,作为SPl服务提供质量的一个评价数据。前面已经结合具体实施例描述了本发明的用于跨域单点登录的处理方法,本发明同时还提供了用于实现所述方法的系统。其中,所述系统包括接收来自用户的对所述至少一个服务提供者的用户请求的装置;根据所述请求的类型、处理所述请求的装置;向所述至少一个服务提供者发送所述处理后的用户请求的装置;接收来自所述至少一个服务提供者的响应的装置;以及,向所述用户发送对所述用户请求的响应的装置。根据本发明的一个实施例,所述根据所述请求的类型、处理所述请求的装置进一步包括如果所述请求是对所述至少一个服务提供者的首次访问请求、产生访问所述至少一个服务提供者的单点登录令牌的装置,以及将所述单点登录令牌加入所接收的用户请求、以产生处理后的用户请求的装置。根据本发明的一个实施例,所述根据所述请求的类型、处理所述请求的装置进一步包括如果所述请求是对所述至少一个服务提供者的注销请求、生成要发送给所述至少一个服务提供者的注销请求的装置,以及,确定与所述用户具有活动会话的其他服务提供者的装置,其中,所述系统进一步包括,生成要发送给所述至少一个服务提供者的注销请求的装置,以及,向其他具有活动会话的服务提供者发送注销请求、以便将用户从其他具有活动会话的服务提供者注销的装置。根据本发明的一个实施例,所述根据所述请求的类型、处理所述请求的装置进一步包括,如果所述请求是一般访问请求则根据所述来自所述至少一个服务提供者的响应判断在所请求的服务提供者上的会话是否过期的装置。根据本发明的一个实施例,所述系统进一步包括,如果在所请求的服务提供者上的所述会话已过期、则判断当前是否存在用户与其他服务提供者的活动会话、如果存在则产生激活用户与所请求的服务提供者的会话的请求、作为处理后的用户请求的装置。根据本发明的一个实施例,所述系统进一步包括,如果在所请求的服务提供者上的所述会话已过期、并且所述过期已经超过一个预定的时间阈值、则产生注销所述会话以及用户与其他服务提供者的活动会话的请求、作为处理后的用户请求的装置。根据本发明的一个实施例,所述系统进一步包括,响应于接收到来自用户的对所述至少一个服务提供者的用户请求、检查所请求的资源是否属于用户访问受限资源、如果是则不允许用户访问该资源的装置。根据本发明的一个实施例,所述系统进一步包括,响应于从所述至少一个服务提供者接收到所述服务提供者发生错误的响应、根据预定策略、向用户发送一个错误处理网页的装置。根据本发明的一个实施例,所述系统进一步包括,将从所述服务提供者接收到的对所述请求的响应的URL转换为统一域的URL、作为对所述用户请求的响应的装置。本发明还提供了一种存储介质或信号载体,其中包括用于执行根据本发明的方法的指令。附图中的流程图和框图,图示了按照本发明实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。 因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器 (RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、 电线、光缆、RF等等。用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk,C++之类,还包括常规的过程式程序设计语言一一诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。 以上结合优选法方案对本发明进行了详细的描述,但是可以理解,以上实施例仅用于说明而非限定本发明。本领域的技术人员可以对本发明的所示方案进行修改而不脱离本发明的范围和精神。
权利要求
1.一种用于单点登录的处理方法,其中,用户所要访问的至少一个服务提供者位于至少一个域上,包括接收来自用户的对所述至少一个服务提供者的用户请求; 根据所述请求的类型,处理所述请求; 向所述至少一个服务提供者发送所述处理后的用户请求; 接收来自所述至少一个服务提供者的响应;以及向所述用户发送对所述用户请求的响应。
2.如权利要求1所述的方法,所述根据所述请求的类型,处理所述请求进一步包括如果所述请求是对所述至少一个服务提供者的首次访问请求,产生访问所述至少一个服务提供者的单点登录令牌,并将所述单点登录令牌加入所接收的用户请求,以产生处理后的用户请求。
3.如权利要求1所述的方法,所述根据所述请求的类型,处理所述请求进一步包括如果所述请求是对所述至少一个服务提供者的注销请求,生成要发送给所述至少一个服务提供者的注销请求,并且,确定与所述用户具有活动会话的其他服务提供者,其中,所述方法进一步包括,生成要发送给所述其他服务提供者的注销请求,以及,向其他具有活动会话的服务提供者发送注销请求,以便将用户从其他具有活动会话的服务提供者注销。
4.如权利要求1-3中任何一个所述的方法,如果所述请求是一般访问请求,根据所述来自所述至少一个服务提供者的响应判断在所请求的服务提供者上的会话是否过期。
5.如权利要求4所述的方法,所述方法进一步包括,如果在所请求的服务提供者上的所述会话已过期,则判断当前是否存在用户与其他服务提供者的活动会话,如果存在则产生激活用户与所请求的服务提供者的会话的请求,作为处理后的用户请求。
6.如权利要求4所述的方法,所述方法进一步包括,如果在所请求的服务提供者上的所述会话已过期,并且所述过期已经超过一个预定的时间阈值,则产生注销所述会话以及用户与其他服务提供者的活动会话的请求,作为处理后的用户请求。
7.如权利要求1-3中任何一个所述的方法,进一步包括,响应于接收到来自用户的对所述至少一个服务提供者的用户请求,检查所请求的资源是否属于用户访问受限资源,如果是则不允许用户访问该资源。
8.如权利要求1-3中任何一个所述的方法,进一步包括,响应于从所述至少一个服务提供者接收到所述服务提供者发生错误的响应,根据预定策略,向用户发送一个错误处理网页。
9.如权利要求1-3中任何一个所述的方法,进一步包括,将从所述服务提供者接收到的对所述请求的响应的URL转换为统一域的URL,作为对所述用户请求的响应。
10.一种用于单点登录的系统,其中,用户所要访问的至少一个服务提供者位于至少一个域上,所述系统包括接收来自用户的对所述至少一个服务提供者的用户请求的装置; 根据所述请求的类型、处理所述请求的装置; 向所述至少一个服务提供者发送所述处理后的用户请求的装置; 接收来自所述至少一个服务提供者的响应的装置;以及向所述用户发送对所述用户请求的响应的装置。
11.如权利要求10所述的系统,所述根据所述请求的类型、处理所述请求的装置进一步包括如果所述请求是对所述至少一个服务提供者的首次访问请求、产生访问所述至少一个服务提供者的单点登录令牌的装置,以及将所述单点登录令牌加入所接收的用户请求、以产生处理后的用户请求的装置。
12.如权利要求10所述的系统,所述根据所述请求的类型、处理所述请求的装置进一步包括如果所述请求是对所述至少一个服务提供者的注销请求、生成要发送给所述至少一个服务提供者的注销请求的装置,以及,确定与所述用户具有活动会话的其他服务提供者的装置,其中,所述系统进一步包括,生成要发送给所述至少一个服务提供者的注销请求的装置,以及,向其他具有活动会话的服务提供者发送注销请求、以便将用户从其他具有活动会话的服务提供者注销的装置。
13.如权利要求10-12中任何一个所述的系统,所述根据所述请求的类型、处理所述请求的装置进一步包括,如果所述请求是一般访问请求则根据所述来自所述至少一个服务提供者的响应判断在所请求的服务提供者上的会话是否过期的装置。
14.如权利要求13所述的系统,所述系统进一步包括,如果在所请求的服务提供者上的所述会话已过期、则判断当前是否存在用户与其他服务提供者的活动会话、如果存在则产生激活用户与所请求的服务提供者的会话的请求、作为处理后的用户请求的装置。
15.如权利要求13所述的系统,所述系统进一步包括,如果在所请求的服务提供者上的所述会话已过期、并且所述过期已经超过一个预定的时间阈值、则产生注销所述会话以及用户与其他服务提供者的活动会话的请求、作为处理后的用户请求的装置。
16.如权利要求10-12中任何一个所述的系统,进一步包括,响应于接收到来自用户的对所述至少一个服务提供者的用户请求、检查所请求的资源是否属于用户访问受限资源、 如果是则不允许用户访问该资源的装置。
17.如权利要求10-12中任何一个所述的系统,进一步包括,响应于从所述至少一个服务提供者接收到所述服务提供者发生错误的响应、根据预定策略、向用户发送一个错误处理网页的装置。
18.如权利要求10-12中任何一个所述的系统,进一步包括,将从所述服务提供者接收到的对所述请求的响应的URL转换为统一域的URL、作为对所述用户请求的响应的装置。
全文摘要
本申请提供了一种用于跨域单点登录的方法和系统。该方法包括接收来自用户对一个服务提供者的请求,根据所述请求的类型,向相应的服务提供者转发所述请求,响应于从所述服务提供者接收到对所述请求的响应,处理所述响应,以及,将所述处理后的响应转发给所述用户。通过采用本申请的方法和系统,引入单点登录管理代理作为统一的用户会话生命周期管理,包括会话过期的检测与恢复、注销、URL映射、错误处理、访问控制等操作,有效地提高了服务的可用性、安全性、功能连续性以及用户体验等。
文档编号H04L29/08GK102546570SQ20101061829
公开日2012年7月4日 申请日期2010年12月31日 优先权日2010年12月31日
发明者邹林志, 陈荔龙 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1