CN102546570B - 用于单点登录的处理方法和系统 - Google Patents
用于单点登录的处理方法和系统 Download PDFInfo
- Publication number
- CN102546570B CN102546570B CN201010618294.6A CN201010618294A CN102546570B CN 102546570 B CN102546570 B CN 102546570B CN 201010618294 A CN201010618294 A CN 201010618294A CN 102546570 B CN102546570 B CN 102546570B
- Authority
- CN
- China
- Prior art keywords
- user
- request
- isp
- sign
- session
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data 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 (16)
1.一种用于通过单点登录管理代理系统处理单点登录的方法,其中,用户所要访问的至少一个服务提供者位于至少一个域上,包括:
所述单点登录管理代理系统接收来自用户的对所述至少一个服务提供者的用户请求;
所述单点登录管理代理系统根据所述请求的类型,处理所述请求;
所述单点登录管理代理系统向所述至少一个服务提供者发送所述处理后的用户请求;
所述单点登录管理代理系统接收来自所述至少一个服务提供者的响应;
所述单点登录管理代理系统将所述响应中的与所述至少一个服务提供者相关联的URL转换为与一个统一域相关联的URL,作为对所述用户请求的响应;以及
所述单点登录管理代理系统向所述用户发送对所述用户请求的响应。
2.如权利要求1所述的方法,所述单点登录管理代理系统根据所述请求的类型,处理所述请求进一步包括:如果所述请求是对所述至少一个服务提供者的首次访问请求,所述单点登录管理代理系统产生访问所述至少一个服务提供者的单点登录令牌,并将所述单点登录令牌加入所接收的用户请求,以产生处理后的用户请求。
3.如权利要求1所述的方法,所述单点登录管理代理系统根据所述请求的类型,处理所述请求进一步包括:如果所述请求是对所述至少一个服务提供者的注销请求,所述单点登录管理代理系统生成要发送给所述至少一个服务提供者的注销请求,并且,确定与所述用户具有活动会话的其他服务提供者,
其中,所述方法进一步包括,所述单点登录管理代理系统生成要发送给所述其他服务提供者的注销请求,以及,向其他具有活动会话的服务提供者发送注销请求,以便将用户从其他具有活动会话的服务提供者注销。
4.如权利要求1-3中任何一个所述的方法,如果所述请求是一般访问请求,所述单点登录管理代理系统根据所述来自所述至少一个服务提供者的响应判断在所请求的服务提供者上的会话是否过期。
5.如权利要求4所述的方法,所述方法进一步包括,如果在所请求的服务提供者上的所述会话已过期,所述单点登录管理代理系统则判断当前是否存在用户与其他服务提供者的活动会话,如果存在则产生激活用户与所请求的服务提供者的会话的请求,作为处理后的用户请求。
6.如权利要求4所述的方法,所述方法进一步包括,如果在所请求的服务提供者上的所述会话已过期,并且所述过期已经超过一个预定的时间阈值,所述单点登录管理代理系统则产生注销所述会话以及用户与其他服务提供者的活动会话的请求,作为处理后的用户请求。
7.如权利要求1-3中任何一个所述的方法,进一步包括,所述单点登录管理代理系统响应于接收到来自用户的对所述至少一个服务提供者的用户请求,检查所请求的资源是否属于用户访问受限资源,如果是则不允许用户访问该资源。
8.如权利要求1-3中任何一个所述的方法,进一步包括,所述单点登录管理代理系统响应于从所述至少一个服务提供者接收到所述服务提供者发生错误的响应,根据预定策略,向用户发送一个错误处理网页。
9.一种用于处理单点登录的单点登录管理代理系统,其中,用户所要访问的至少一个服务提供者位于至少一个域上,所述单点登录管理代理系统包括:
接收来自用户的对所述至少一个服务提供者的用户请求的装置;
根据所述请求的类型、处理所述请求的装置;
向所述至少一个服务提供者发送所述处理后的用户请求的装置;
接收来自所述至少一个服务提供者的响应的装置;
将所述响应中的与所述至少一个服务提供者相关联的URL转换为与一个统一域相关联的URL、作为对所述用户请求的响应的装置;以及
向所述用户发送对所述用户请求的响应的装置。
10.如权利要求9所述的单点登录管理代理系统,所述根据所述请求的类型、处理所述请求的装置进一步包括:如果所述请求是对所述至少一个服务提供者的首次访问请求、产生访问所述至少一个服务提供者的单点登录令牌的装置,以及将所述单点登录令牌加入所接收的用户请求、以产生处理后的用户请求的装置。
11.如权利要求9所述的单点登录管理代理系统,所述根据所述请求的类型、处理所述请求的装置进一步包括:如果所述请求是对所述至少一个服务提供者的注销请求、生成要发送给所述至少一个服务提供者的注销请求的装置,以及,确定与所述用户具有活动会话的其他服务提供者的装置,
其中,所述单点登录管理代理系统进一步包括,生成要发送给所述至少一个服务提供者的注销请求的装置,以及,向其他具有活动会话的服务提供者发送注销请求、以便将用户从其他具有活动会话的服务提供者注销的装置。
12.如权利要求9-11中任何一个所述的单点登录管理代理系统,所述根据所述请求的类型、处理所述请求的装置进一步包括,如果所述请求是一般访问请求则根据所述来自所述至少一个服务提供者的响应判断在所请求的服务提供者上的会话是否过期的装置。
13.如权利要求12所述的单点登录管理代理系统,进一步包括,如果在所请求的服务提供者上的所述会话已过期、则判断当前是否存在用户与其他服务提供者的活动会话、如果存在则产生激活用户与所请求的服务提供者的会话的请求、作为处理后的用户请求的装置。
14.如权利要求12所述的单点登录管理代理系统,进一步包括,如果在所请求的服务提供者上的所述会话已过期、并且所述过期已经超过一个预定的时间阈值、则产生注销所述会话以及用户与其他服务提供者的活动会话的请求、作为处理后的用户请求的装置。
15.如权利要求9-11中任何一个所述的单点登录管理代理系统,进一步包括,响应于接收到来自用户的对所述至少一个服务提供者的用户请求、检查所请求的资源是否属于用户访问受限资源、如果是则不允许用户访问该资源的装置。
16.如权利要求9-11中任何一个所述的单点登录管理代理系统,进一步包括,响应于从所述至少一个服务提供者接收到所述服务提供者发生错误的响应、根据预定策略、向用户发送一个错误处理网页的装置。
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 CN102546570A (zh) | 2012-07-04 |
CN102546570B true 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) |
Families Citing this family (31)
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 |
EP3770781B1 (en) | 2014-09-30 | 2022-06-08 | Citrix Systems, Inc. | Fast smart card logon and federated full domain logon |
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 |
CN106156172A (zh) * | 2015-04-16 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 嵌入页面的会话过期处理方法和装置 |
US10298561B2 (en) * | 2015-06-30 | 2019-05-21 | Vmware, Inc. | Providing a single session experience across multiple applications |
CN105897743A (zh) * | 2016-05-26 | 2016-08-24 | 努比亚技术有限公司 | 一种跨域单点登录的方法及服务器 |
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 |
CN108063681B (zh) * | 2016-11-08 | 2020-10-27 | 北京国双科技有限公司 | 一种实现单点登录系统中账户同步的方法及装置 |
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 |
CN109274685B (zh) * | 2018-11-02 | 2021-09-17 | 深圳壹账通智能科技有限公司 | 多系统登录方法、装置、计算机设备和存储介质 |
CN109547432B (zh) * | 2018-11-19 | 2020-11-27 | 中国银行股份有限公司 | 多系统验证方法及装置、存储介质及电子设备 |
EP3934204A4 (en) * | 2019-03-26 | 2022-03-16 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | METHOD OF COMMUNICATION FOR A DEVICE, DEVICE AND STORAGE MEDIUM |
CN110149235B (zh) * | 2019-05-28 | 2020-11-24 | 中山大学 | 一种支持多用户和多网络协议、可动态扩展的树状网络代理系统 |
CN111163083A (zh) * | 2019-12-27 | 2020-05-15 | 杭州数梦工场科技有限公司 | 基于应用粒度的登录会话控制方法、装置及计算机设备 |
WO2021232347A1 (en) | 2020-05-21 | 2021-11-25 | Citrix Systems, Inc. | Cross device single sign-on |
CN111935107B (zh) * | 2020-07-23 | 2022-06-10 | 珠海大横琴科技发展有限公司 | 身份认证的方法及装置、系统、电子设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653781A (zh) * | 2002-06-28 | 2005-08-10 | 国际商业机器公司 | 用于在联合环境中进行用户确定的身份验证和单一登录的方法和系统 |
CN1726690B (zh) * | 2002-12-31 | 2010-04-28 | 国际商业机器公司 | 用于异构型联合环境中的本机认证协议的方法和系统 |
CN1514569B (zh) * | 2002-12-31 | 2010-11-17 | 国际商业机器公司 | 在不同类联合环境中用于验证的方法和系统 |
Family Cites Families (7)
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 |
EP1410210A4 (en) | 2001-06-11 | 2005-12-14 | Bluefire Security Technology I | PACKAGE FILTERING SYSTEM AND METHOD |
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 |
WO2008082337A1 (en) | 2006-12-28 | 2008-07-10 | 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 |
-
2010
- 2010-12-31 CN CN201010618294.6A patent/CN102546570B/zh active Active
-
2012
- 2012-01-03 US US13/342,237 patent/US8621589B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653781A (zh) * | 2002-06-28 | 2005-08-10 | 国际商业机器公司 | 用于在联合环境中进行用户确定的身份验证和单一登录的方法和系统 |
CN1726690B (zh) * | 2002-12-31 | 2010-04-28 | 国际商业机器公司 | 用于异构型联合环境中的本机认证协议的方法和系统 |
CN1514569B (zh) * | 2002-12-31 | 2010-11-17 | 国际商业机器公司 | 在不同类联合环境中用于验证的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US8621589B2 (en) | 2013-12-31 |
US20130014243A1 (en) | 2013-01-10 |
CN102546570A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546570B (zh) | 用于单点登录的处理方法和系统 | |
US11665146B2 (en) | Migrating authenticated content towards content consumer | |
US9787664B1 (en) | Methods systems and articles of manufacture for implementing user access to remote resources | |
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和系统 | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
US8966594B2 (en) | Proxy authentication | |
US10225260B2 (en) | Enhanced authentication security | |
WO2017028804A1 (zh) | 一种Web实时通信平台鉴权接入方法及装置 | |
US10778668B2 (en) | HTTP session validation module | |
CN104917721B (zh) | 基于oAuth协议的授权方法、装置和系统 | |
CN106131079A (zh) | 一种认证方法、系统及代理服务器 | |
JP2019522261A (ja) | 自動ログイン方法及び複数のウェブサイト間のデバイス | |
US20100100950A1 (en) | Context-based adaptive authentication for data and services access in a network | |
US9143501B2 (en) | Reauthentication to a web service without disruption | |
CN112468481B (zh) | 一种基于CAS的单页和多页web应用身份集成认证方法 | |
CN104378376A (zh) | 基于soa的单点登录方法、认证服务器和浏览器 | |
CN110958237A (zh) | 一种权限校验的方法和装置 | |
CN111062023B (zh) | 多应用系统实现单点登录的方法及装置 | |
CN103444215B (zh) | 用于避免网络攻击的危害的方法和装置 | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
CN113746811A (zh) | 登录方法、装置、设备及可读存储介质 | |
CN105282095A (zh) | 虚拟桌面登录验证方法和装置 | |
CN109962892A (zh) | 一种登录应用的认证方法及客户端、服务器 | |
CN113922982A (zh) | 登录方法、电子设备及计算机可读存储介质 | |
CN113821784A (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 |