CN102546570A - 用于单点登录的处理方法和*** - Google Patents

用于单点登录的处理方法和*** Download PDF

Info

Publication number
CN102546570A
CN102546570A CN2010106182946A CN201010618294A CN102546570A CN 102546570 A CN102546570 A CN 102546570A CN 2010106182946 A CN2010106182946 A CN 2010106182946A CN 201010618294 A CN201010618294 A CN 201010618294A CN 102546570 A CN102546570 A CN 102546570A
Authority
CN
China
Prior art keywords
user
request
isp
session
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010106182946A
Other languages
English (en)
Other versions
CN102546570B (zh
Inventor
邹林志
陈荔龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201010618294.6A priority Critical patent/CN102546570B/zh
Priority to US13/342,237 priority patent/US8621589B2/en
Publication of CN102546570A publication Critical patent/CN102546570A/zh
Application granted granted Critical
Publication of CN102546570B publication Critical patent/CN102546570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

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

Claims (18)

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、作为对所述用户请求的响应的装置。
CN201010618294.6A 2010-12-31 2010-12-31 用于单点登录的处理方法和*** Active CN102546570B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010618294.6A CN102546570B (zh) 2010-12-31 2010-12-31 用于单点登录的处理方法和***
US13/342,237 US8621589B2 (en) 2010-12-31 2012-01-03 Cross domain single sign on

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010618294.6A CN102546570B (zh) 2010-12-31 2010-12-31 用于单点登录的处理方法和***

Publications (2)

Publication Number Publication Date
CN102546570A true CN102546570A (zh) 2012-07-04
CN102546570B CN102546570B (zh) 2014-12-24

Family

ID=46352539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010618294.6A Active CN102546570B (zh) 2010-12-31 2010-12-31 用于单点登录的处理方法和***

Country Status (2)

Country Link
US (1) US8621589B2 (zh)
CN (1) CN102546570B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897743A (zh) * 2016-05-26 2016-08-24 努比亚技术有限公司 一种跨域单点登录的方法及服务器
CN106156172A (zh) * 2015-04-16 2016-11-23 阿里巴巴集团控股有限公司 嵌入页面的会话过期处理方法和装置
CN108063681A (zh) * 2016-11-08 2018-05-22 北京国双科技有限公司 一种实现单点登录***中账户同步的方法及装置
CN109274685A (zh) * 2018-11-02 2019-01-25 深圳壹账通智能科技有限公司 多***登录方法、装置、计算机设备和存储介质
CN109547432A (zh) * 2018-11-19 2019-03-29 中国银行股份有限公司 多***验证方法及装置、存储介质及电子设备
CN110149235A (zh) * 2019-05-28 2019-08-20 中山大学 一种支持多用户和多网络协议、可动态扩展的树状网络代理***
CN111163083A (zh) * 2019-12-27 2020-05-15 杭州数梦工场科技有限公司 基于应用粒度的登录会话控制方法、装置及计算机设备
WO2020191639A1 (zh) * 2019-03-26 2020-10-01 Oppo广东移动通信有限公司 一种设备的通信方法、设备及存储介质
US11159512B1 (en) 2020-05-21 2021-10-26 Citrix Systems, Ine. Cross device single sign-on

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914842B2 (en) * 2012-01-23 2014-12-16 Microsoft Corporation Accessing enterprise resource planning data from a handheld mobile device
US9413770B2 (en) * 2012-11-30 2016-08-09 Lenovo (Singapore) Pte. Ltd. Cloud based application account management
US9613136B2 (en) * 2013-01-23 2017-04-04 Pandexio, Inc. Assertion quality assessment and management system
US9154488B2 (en) * 2013-05-03 2015-10-06 Citrix Systems, Inc. Secured access to resources using a proxy
JP6128958B2 (ja) * 2013-05-28 2017-05-17 キヤノン株式会社 情報処理サーバーシステム、制御方法、およびプログラム
US9697188B2 (en) * 2013-11-15 2017-07-04 Instart Logic, Inc. Method to enable cross-origin resource sharing from a webpage inside a private network
US9124575B2 (en) * 2013-11-27 2015-09-01 Sap Se Self-single sign-on
US9876859B1 (en) * 2013-12-12 2018-01-23 EMC IP Holding Company LLC Client session timeout with automatic refresh
US20150188779A1 (en) * 2013-12-31 2015-07-02 Jut, Inc. Split-application infrastructure
JP6526181B2 (ja) 2014-09-30 2019-06-05 サイトリックス システムズ,インコーポレイテッド スマートカードによるログオンおよび連携されたフルドメインログオン
US10841316B2 (en) 2014-09-30 2020-11-17 Citrix Systems, Inc. Dynamic access control to network resources using federated full domain logon
CN104301418B (zh) * 2014-10-23 2017-12-12 西安未来国际信息股份有限公司 一种基于saml的跨域单点登录***及登录方法
US9565190B1 (en) * 2014-11-07 2017-02-07 Amazon Technologies, Inc. Domain join and managed directory support for virtual computing environments
CN104378376B (zh) * 2014-11-18 2019-02-26 深圳中兴网信科技有限公司 基于soa的单点登录方法、认证服务器和浏览器
US10491685B2 (en) * 2015-03-31 2019-11-26 Microsoft Technology Licensing, Llc Session transfer between resources
US10298561B2 (en) * 2015-06-30 2019-05-21 Vmware, Inc. Providing a single session experience across multiple applications
US10171467B2 (en) 2016-07-21 2019-01-01 International Business Machines Corporation Detection of authorization across systems
US10375053B2 (en) 2016-09-09 2019-08-06 Microsoft Technology Licensing, Llc Cross-platform single sign-on accessibility of a productivity application within a software as a service platform
CN107172221B (zh) * 2017-07-26 2020-08-04 成都三零盛安信息***有限公司 跨域会话管理方法和装置
CN107707570A (zh) * 2017-11-13 2018-02-16 山东省农村信用社联合社 跨域单点登录集成方法和***
US10958640B2 (en) 2018-02-08 2021-03-23 Citrix Systems, Inc. Fast smart card login
CN111935107B (zh) * 2020-07-23 2022-06-10 珠海大横琴科技发展有限公司 身份认证的方法及装置、***、电子设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039237A2 (en) * 2000-11-09 2002-05-16 International Business Machines Corporation Method and system for web-based cross-domain single-sign-on authentication
CN1653781A (zh) * 2002-06-28 2005-08-10 国际商业机器公司 用于在联合环境中进行用户确定的身份验证和单一登录的方法和***
US20070234417A1 (en) * 2002-12-31 2007-10-04 International Business Machines Corporation Method and system for native authentication protocols in a heterogeneous federated environment
CN1514569B (zh) * 2002-12-31 2010-11-17 国际商业机器公司 在不同类联合环境中用于验证的方法和***

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002101968A2 (en) 2001-06-11 2002-12-19 Bluefire Security Technology Packet filtering system and methods
US8607322B2 (en) 2004-07-21 2013-12-10 International Business Machines Corporation Method and system for federated provisioning
US7657639B2 (en) * 2006-07-21 2010-02-02 International Business Machines Corporation Method and system for identity provider migration using federated single-sign-on operation
US20100024015A1 (en) 2006-12-21 2010-01-28 Sxip Identity Corp. System and method for simplified login using an identity manager
EP2098038B1 (en) 2006-12-28 2017-06-21 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for integration of different authentication infrastructures
US20080271121A1 (en) 2007-04-27 2008-10-30 Heather Maria Hinton External user lifecycle management for federated environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039237A2 (en) * 2000-11-09 2002-05-16 International Business Machines Corporation Method and system for web-based cross-domain single-sign-on authentication
CN1653781A (zh) * 2002-06-28 2005-08-10 国际商业机器公司 用于在联合环境中进行用户确定的身份验证和单一登录的方法和***
US20070234417A1 (en) * 2002-12-31 2007-10-04 International Business Machines Corporation Method and system for native authentication protocols in a heterogeneous federated environment
CN1726690B (zh) * 2002-12-31 2010-04-28 国际商业机器公司 用于异构型联合环境中的本机认证协议的方法和***
CN1514569B (zh) * 2002-12-31 2010-11-17 国际商业机器公司 在不同类联合环境中用于验证的方法和***

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156172A (zh) * 2015-04-16 2016-11-23 阿里巴巴集团控股有限公司 嵌入页面的会话过期处理方法和装置
CN105897743A (zh) * 2016-05-26 2016-08-24 努比亚技术有限公司 一种跨域单点登录的方法及服务器
CN108063681B (zh) * 2016-11-08 2020-10-27 北京国双科技有限公司 一种实现单点登录***中账户同步的方法及装置
CN108063681A (zh) * 2016-11-08 2018-05-22 北京国双科技有限公司 一种实现单点登录***中账户同步的方法及装置
CN109274685A (zh) * 2018-11-02 2019-01-25 深圳壹账通智能科技有限公司 多***登录方法、装置、计算机设备和存储介质
CN109274685B (zh) * 2018-11-02 2021-09-17 深圳壹账通智能科技有限公司 多***登录方法、装置、计算机设备和存储介质
CN109547432B (zh) * 2018-11-19 2020-11-27 中国银行股份有限公司 多***验证方法及装置、存储介质及电子设备
CN109547432A (zh) * 2018-11-19 2019-03-29 中国银行股份有限公司 多***验证方法及装置、存储介质及电子设备
WO2020191639A1 (zh) * 2019-03-26 2020-10-01 Oppo广东移动通信有限公司 一种设备的通信方法、设备及存储介质
US11991171B2 (en) 2019-03-26 2024-05-21 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Communication method for device, device and storage medium
CN110149235A (zh) * 2019-05-28 2019-08-20 中山大学 一种支持多用户和多网络协议、可动态扩展的树状网络代理***
CN111163083A (zh) * 2019-12-27 2020-05-15 杭州数梦工场科技有限公司 基于应用粒度的登录会话控制方法、装置及计算机设备
US11159512B1 (en) 2020-05-21 2021-10-26 Citrix Systems, Ine. Cross device single sign-on
WO2021232347A1 (en) * 2020-05-21 2021-11-25 Citrix Systems, Inc. Cross device single sign-on
US11743247B2 (en) 2020-05-21 2023-08-29 Citrix Systems, Inc. Cross device single sign-on

Also Published As

Publication number Publication date
US8621589B2 (en) 2013-12-31
US20130014243A1 (en) 2013-01-10
CN102546570B (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN102546570B (zh) 用于单点登录的处理方法和***
US11665146B2 (en) Migrating authenticated content towards content consumer
CN106131079B (zh) 一种认证方法、***及代理服务器
CN102480490B (zh) 一种用于防止csrf攻击的方法和设备
US8966594B2 (en) Proxy authentication
US10778668B2 (en) HTTP session validation module
CN104735066B (zh) 一种面向网页应用的单点登录方法、装置和***
CN103001974B (zh) 基于二维码的登录控制方法、***和装置
US9584615B2 (en) Redirecting access requests to an authorized server system for a cloud service
CN104954330B (zh) 一种对数据资源进行访问的方法、装置和***
JP2019522261A (ja) 自動ログイン方法及び複数のウェブサイト間のデバイス
US9967260B1 (en) Enhanced authentication security
CN110689332B (zh) 资源账户绑定方法、存储介质及电子设备
CN110958237A (zh) 一种权限校验的方法和装置
CN105144111A (zh) 用于不同web服务架构的中继服务
CN102682009A (zh) 一种用户登录网页的方法及***
CN104253812A (zh) 委托用于web服务的认证
CN112583834B (zh) 一种通过网关单点登录的方法和装置
CN106464497A (zh) 利用低延迟会话聚合框架体系发放、传送和管理令牌的方法和***
CN108259457A (zh) 一种web认证方法及装置
US9210155B2 (en) System and method of extending a host website
CN113821784A (zh) 多***单点登录方法、装置及计算机可读存储介质
CN110177096B (zh) 客户端认证方法、装置、介质和计算设备
CN113992446B (zh) 一种跨域浏览器用户认证方法、***及计算机储存介质
CN115001840A (zh) 一种基于代理的鉴权方法、***及计算机储存介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant