CN106331042A - 一种异构用户系统的单点登录方法及其装置 - Google Patents

一种异构用户系统的单点登录方法及其装置 Download PDF

Info

Publication number
CN106331042A
CN106331042A CN201510379350.8A CN201510379350A CN106331042A CN 106331042 A CN106331042 A CN 106331042A CN 201510379350 A CN201510379350 A CN 201510379350A CN 106331042 A CN106331042 A CN 106331042A
Authority
CN
China
Prior art keywords
logging status
unique login
information
mark
browser
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
CN201510379350.8A
Other languages
English (en)
Other versions
CN106331042B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510379350.8A priority Critical patent/CN106331042B/zh
Publication of CN106331042A publication Critical patent/CN106331042A/zh
Application granted granted Critical
Publication of CN106331042B publication Critical patent/CN106331042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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

Landscapes

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

Abstract

本申请提供一种异构用户系统的单点登录方法及其装置,应用于目标系统,包括:根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;令浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统;接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息;对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。本申请可支持两个系统间简便快速的登录,且防止非法用户冒充合法用户访问目标页面,维护成本低廉,安全性能高。

Description

一种异构用户系统的单点登录方法及其装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种异构用户系统的单点登录方法及其装置。
背景技术
随着信息技术的发展,企业建设的网络应用系统越来越多,而这些应用系统有的提供给内部人员使用,有的提供给外部用户使用,通常建设在不同的用户体系之上。而传统的单点登录都是基于相同的用户体系的,而且需要搭建独立的单点登录服务器。当企业想把面向用户体系A的应用系统集成到面向用户体系B的应用系统中供用户体系B的用户使用时会面临困难。通常需要拷贝一份代码改为用户体系B的应用系统,这样会增加大量的维护成本。并且,传统的单点登录方法,源系统和目标系统约定一个密钥,然后将参数加密后从源系统传输到目标系统,然后在目标系统进行解密。但是,存在密钥被盗从而被非法用户冒充合法用户登录的可能性。
因此,如何实现基于异构用户体系,防止非法用户冒充合法用户访问目标页面成为亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种异构用户系统的单点登录方法及其装置,其可支持两个系统间简便快速的登录,且防止非法用户冒充合法用户访问目标页面,维护成本低廉,安全性能高。
本申请提供一种异构用户系统的单点登录方法,应用于目标系统,包括:
根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统;
接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息;
对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。
在本申请一具体实施例中,所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法生成的字符串。
在本申请一具体实施例中,所述唯一登录标识的有效期小于2分钟。
在本申请一具体实施例中,所述接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息为:通过后端服务接口接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。
在本申请一具体实施例中,所述接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息包括:
对接收的源系统推送的当前用户登录状态和当前用户信息进行验签;
如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
在本申请一具体实施例中,所述接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息之后还包括:
返回推送成功结果至所述源系统;
接收源系统通过浏览器中的验证页面返回的进行登录状态验证的通知。
本申请还提供一种异构用户系统的单点登录方法,应用于源系统,包括:
接收目标系统通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息;
将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
在本申请一具体实施例中,所述将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统为:通过后端服务接口将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
在本申请一具体实施例中,所述将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统之后还包括:
接收所述目标系统返回的推送成功结果;
通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标系统。
本申请还提供一种异构用户系统的单点登录装置,应用于目标系统,包括:
标识生成模块,用于根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
信息发送模块,用于令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统;
信息接收模块,用于接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息;
信息验证模块,用于对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
页面显示模块,用于如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。
在本申请一具体实施例中,所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法生成的字符串。
在本申请一具体实施例中,所述唯一登录标识的有效期小于2分钟。
在本申请一具体实施例中,所述信息接收模块具体用于通过后端服务接口接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。
在本申请一具体实施例中,所述信息接收模块包括:
验签单元,用于对接收的源系统推送的当前用户登录状态和当前用户信息进行验签;
保存单元,用于如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
在本申请一具体实施例中,还包括:
第一返回模块,用于返回推送成功结果至所述源系统;
第一通知模块,用于接收源系统通过浏览器中的验证页面返回的进行登录状态验证的通知。
本申请还提供一种异构用户系统的单点登录装置,应用于源系统,包括:
标识接收模块,用于接收目标系统通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息;
信息推送模块,用于将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
在本申请一具体实施例中,所述信息推送模块具体用于通过后端服务接口将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
在本申请一具体实施例中,还包括:
第二返回模块,用于接收所述目标系统返回的推送成功结果;
第二通知模块,用于通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标系统。
由以上技术方案可见,本申请根据用户通过浏览器发送的访问请求生成唯一登录标识,利用所述唯一登录标识来区分不同用户的登录请求。将唯一登录标识和登录请求信息发送至源系统,接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。从而,对相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证。登录状态验证成功,则将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。本申请可支持两个系统间简便快速的登录,且防止非法用户冒充合法用户访问目标页面,维护成本低廉,安全性能高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请目标系统所应用的服务器的硬件结构示意图;
图2是本申请异构用户系统的单点登录方法的一实施例的流程图;
图3是本申请异构用户系统的单点登录方法的步骤S3的一实施例的流程图;
图4是本申请异构用户系统的单点登录方法的另一实施例的流程图;
图5是本申请源系统所应用的服务器的硬件结构示意图;
图6是本申请异构用户系统的单点登录方法的再一实施例的流程图;
图7是本申请异构用户系统的单点登录方法的又一实施例的流程图;
图8是本申请异构用户系统的单点登录装置的一实施例的结构图;
图9是本申请异构用户系统的单点登录装置的信息接收模块83的结构图;
图10是本申请异构用户系统的单点登录装置的另一实施例的结构图;
图11是本申请异构用户系统的单点登录装置的再一实施例的结构图;
图12是本申请异构用户系统的单点登录装置的又一实施例的结构图;
图13是本申请一应用场景的示意图;
图14是本申请一应用场景的信号传递示意图。
具体实施方式
本申请根据用户通过浏览器发送的访问请求生成唯一登录标识,利用所述唯一登录标识来区分不同用户的登录请求。将唯一登录标识和登录请求信息发送至源系统,接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。从而,对相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证。登录状态验证成功,则将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。本申请可支持两个系统间简便快速的登录,且防止非法用户冒充合法用户访问目标页面,维护成本低廉,安全性能高。
当然,实施本申请的任一技术方案必不一定需要同时达到以上所述的所有优点。
为了使本领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合本申请附图进一步说明本申请具体实现。
参看图1,本申请提供一种异构用户系统的单点登录方法,其应用于目标系统,目标系统可以应用在分布式服务器或者非分布式服务器。服务器1在硬件上通常包括:控制单元11、保存单元12以及其他硬件13。
参见图2,本申请所述方法2包括:
S1、根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息。
具体地,用户在浏览器中点击属于目标系统的目标页面链接,浏览器向目标系统发送的访问请求包含目标网页URL、用户标识和其他业务参数。例如目标网页URL为http://www.targetweb.com/showpage.html?user=testuser。
在本申请一具体实现中,所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法(如SHA)生成的字符串。所述唯一登录标识作为本次访问请求的唯一标志,同目标网页URL、用户标识和其他业务参数等登录请求信息进行保存。
此外,为了尽量避免所述唯一登录标识被盗用,所述唯一登录标识具有短有效期,一般小于2分钟。
S2、令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统。
目标系统流转到一个验证页面,例如url地址为:http://www.targetweb.com/verify.html。该验证页面不需要用户操作,一切验证和流转都是自动完成,浏览器页面会显示如“正在自动登录中…”的提示。
目标系统的验证页面会向源系统发送验证接口请求,如果目标系统和源系统之间是跨域的,则请求jsonp(JSON with Padding)验证接口。如果目标系统和源系统之间是非跨域的,可以使用json(JavaScript Object Notation)验证接口。
源系统接收到验证接口请求后,会根据接收的唯一登录标识以及登录请求信息,检查当前会话(session)是否处于登录状态,获取当前用户登录状态和当前用户信息。源系统将唯一登录标识、当前用户登录状态和当前用户信息推送到目标系统。
S3、接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。
在本申请另一具体实现中,源系统将唯一登录标识、当前用户登录状态和当前用户信息通过后端服务接口推送到目标系统,目标系统通过后端服务接口接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。所述后端服务接口非开放接口,仅内部网络使用。因此,外部即使知道接口签名密钥也无法仿冒源系统上报信息,进一步增加了单点登录的安全性。
在本申请再一具体实现中,参看图3,所述步骤S3具体为:
S31、对接收的源系统推送的当前用户登录状态和当前用户信息进行验签。
具体地,源系统将非空输入参数加上约定的一个密钥按一定顺序拼成字符串,并通过MD5加密得到所述当前用户登录状态和当前用户信息的签名。所述目标系统接收到源系统推送的当前用户登录状态和当前用户信息以及其签名后,在目标系统先对所述签名进行验证,即对所述当前用户登录状态和当前用户信息进行验签。
S32、如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
具体地,如验签通过,则根据所述唯一登录标识,获得步骤S1中所保存的相同的唯一登录标识对应的登录请求信息的保存位置。目标系统将相同的唯一登录标识对应的当前用户登录状态和当前用户信息同登录请求信息保存在一起。
本申请通过所述验签进一步保证了所述源系统发送给目标系统的当前用户登录状态和当前用户信息的完整性和信息传递的安全性。
S4、对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证。
目标系统通过唯一登录标识取出保存的登录请求信息和从源系统接收到的当前用户登录状态和当前用户信息进行登录状态验证。所述登录状态验证逻辑包括:登录请求信息是否超时;登录请求信息中的session Id和当前用户信息中的session Id是否一致;当前用户登录状态是否为登录成功。
S5、如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。
具体地,如果登录请求信息未超时;登录请求信息中的session Id和当前用户信息中的session Id一致;当前用户登录状态为登录成功,则表示登录状态验证成功。
目标系统验证成功后,从保存的登录请求信息中提取目标页面URL,清除当前唯一登录标识对应的保存信息,并创建用户会话完成登录。
目标系统完成登录后,将浏览器重定向到目标页面URL并最终显示目标页面URL给请求的用户。
在本申请又一具体实现中,参看图4,所述方法4除上述步骤S1——S5外,步骤S3与S4之间还包括步骤:
S6、返回推送成功结果至所述源系统。
S7、接收源系统通过浏览器中的验证页面返回的进行登录状态验证的通知。
本申请通过返回推送成功结果至所述源系统,源系统获知目标系统已经获得其推送的当前用户登录状态和当前用户信息。所述源系统通过所述验证页面,通知目标系统进行登录状态验证。
本申请还提供一种异构用户系统的单点登录方法,应用于源系统,源系统可以应用在分布式服务器或者非分布式服务器。参看图5,服务器5在硬件上通常包括:控制单元51、保存单元52以及其他硬件53。
参见图6,本申请所述方法6包括:
P1、接收目标系统通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息。
目标系统流转到一个验证页面,例如url地址为:http://www.targetweb.com/verify.html。该验证页面不需要用户操作,一切验证和流转都是自动完成,浏览器页面会显示如“正在自动登录中…”的提示。
目标系统的验证页面会向源系统发送验证接口请求,如果目标系统和源系统之间是跨域的,则请求jsonp(JSON with Padding)验证接口。如果目标系统和源系统之间是非跨域的,可以使用json(JavaScript Object Notation)验证接口。
P2、将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
源系统接收到验证接口请求后,会根据接收的唯一登录标识以及登录请求信息,将唯一登录标识、当前用户登录状态和当前用户信息通过后端服务接口推送到目标系统。所述后端服务接口非开放接口,仅内部网络使用。因此,外部即使知道接口签名密钥也无法仿冒源系统上报信息,进一步增加了单点登录的安全性。
在本申请另一具体实现中,参看图7,所述方法7除上述步骤P1——P2外,步骤P2之后还包括步骤:
P3、接收所述目标系统返回的推送成功结果。
P4、通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标系统。
本申请通过返回推送成功结果至所述源系统,源系统获知目标系统已经获得其推送的当前用户登录状态和当前用户信息。所述源系统通过所述验证页面,通知目标系统进行登录状态验证。
对应上述方法,本申请还提供一种异构用户系统的单点登录装置,其应用于目标系统,目标系统可以为分布式服务器或者非分布式服务器。参看图1,服务器1在硬件上通常包括:控制单元11、保存单元12以及其他硬件13。
参见图8,本申请所述装置8包括:
标识生成模块81,用于根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
信息发送模块82,用于令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统;
信息接收模块83,用于接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息;
信息验证模块84,用于对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
页面显示模块85,用于如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。
具体地,用户在浏览器中点击属于目标系统的目标页面链接,浏览器向目标系统发送的访问请求包含目标网页URL、用户标识和其他业务参数。例如目标网页URL为http://www.targetweb.com/showpage.html?user=testuser。
在本申请一具体实现中,所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法(如SHA)生成的字符串。所述唯一登录标识作为本次访问请求的唯一标志,同目标网页URL、用户标识和其他业务参数等登录请求信息进行保存。
此外,为了尽量避免所述唯一登录标识被盗用,所述唯一登录标识具有短有效期,一般小于2分钟。
目标系统流转到一个验证页面,例如url地址为:http://www.targetweb.com/verify.html。该验证页面不需要用户操作,一切验证和流转都是自动完成,浏览器页面会显示如“正在自动登录中…”的提示。
目标系统的验证页面会向源系统发送验证接口请求,如果目标系统和源系统之间是跨域的,则请求jsonp(JSON with Padding)验证接口。如果目标系统和源系统之间是非跨域的,可以使用json(JavaScript Object Notation)验证接口。
源系统接收到验证接口请求后,会根据接收的唯一登录标识以及登录请求信息,检查当前会话(session)是否处于登录状态,获取当前用户登录状态和当前用户信息。源系统将唯一登录标识、当前用户登录状态和当前用户信息推送到目标系统。
在本申请另一具体实现中,源系统将唯一登录标识、当前用户登录状态和当前用户信息通过后端服务接口推送到目标系统,目标系统通过后端服务接口接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。所述后端服务接口非开放接口,仅内部网络使用。因此,外部即使知道接口签名密钥也无法仿冒源系统上报信息,进一步增加了单点登录的安全性。
在本申请再一具体实现中,参看图9,所述信息接收模块83具体包括:
验签单元831,用于对接收的源系统推送的当前用户登录状态和当前用户信息进行验签。
保存单元832,用于如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
具体地,源系统将非空输入参数加上约定的一个密钥按一定顺序拼成字符串,并通过MD5加密得到所述当前用户登录状态和当前用户信息的签名。所述目标系统接收到源系统推送的当前用户登录状态和当前用户信息以及其签名后,在目标系统先对所述签名进行验证,即对所述当前用户登录状态和当前用户信息进行验签。
如验签通过,则根据所述唯一登录标识,获得步骤S1中所保存的相同的唯一登录标识对应的登录请求信息的保存位置。目标系统将相同的唯一登录标识对应的当前用户登录状态和当前用户信息同登录请求信息保存在一起。
本申请通过所述验签进一步保证了所述源系统发送给目标系统的当前用户登录状态和当前用户信息的完整性和信息传递的安全性。
目标系统通过唯一登录标识取出保存的登录请求信息和从源系统接收到的当前用户登录状态和当前用户信息进行登录状态验证。所述登录状态验证逻辑包括:登录请求信息是否超时;登录请求信息中的session Id和当前用户信息中的session Id是否一致;当前用户登录状态是否为登录成功。
具体地,如果登录请求信息未超时;登录请求信息中的session Id和当前用户信息中的session Id一致;当前用户登录状态为登录成功,则表示登录状态验证成功。
目标系统验证成功后,从保存的登录请求信息中提取目标页面URL,清除当前唯一登录标识对应的保存信息,并创建用户会话完成登录。
目标系统完成登录后,将浏览器重定向到目标页面URL并最终显示目标页面URL给请求的用户。
在本申请又一具体实现中,参看图10,所述装置10除上述标识生成模块81、信息发送模块82、信息接收模块83、信息验证模块84、页面显示模块85外,还包括:
第一返回模块86,用于返回推送成功结果至所述源系统。
第一通知模块87,用于接收源系统通过浏览器中的验证页面返回的进行登录状态验证的通知。
本申请通过返回推送成功结果至所述源系统,源系统获知目标系统已经获得其推送的当前用户登录状态和当前用户信息。所述源系统通过所述验证页面,通知目标系统进行登录状态验证。
本申请还提供一种异构用户系统的单点登录装置,应用于源系统,源系统可以应用在分布式服务器或者非分布式服务器。参看图5,服务器5在硬件上通常包括:控制单元51、保存单元52以及其他硬件53。
参见图11,本申请所述装置11包括:
标识接收模块111,用于接收目标系统通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息。
信息推送模块112,用于将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
目标系统流转到一个验证页面,例如url地址为:http://www.targetweb.com/verify.html。该验证页面不需要用户操作,一切验证和流转都是自动完成,浏览器页面会显示如“正在自动登录中…”的提示。
目标系统的验证页面会向源系统发送验证接口请求,如果目标系统和源系统之间是跨域的,则请求jsonp(JSON with Padding)验证接口。如果目标系统和源系统之间是非跨域的,可以使用json(JavaScript Object Notation)验证接口。
源系统接收到验证接口请求后,会根据接收的唯一登录标识以及登录请求信息,将唯一登录标识、当前用户登录状态和当前用户信息通过后端服务接口推送到目标系统。所述后端服务接口非开放接口,仅内部网络使用。因此,外部即使知道接口签名密钥也无法仿冒源系统上报信息,进一步增加了单点登录的安全性。
在本申请另一具体实现中,参看图12,所述装置12除上述标识接收模块111、信息推送模块112外,还包括:
第二返回模块113,用于接收所述目标系统返回的推送成功结果。
第二通知模块114,用于通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标系统。
本申请通过返回推送成功结果至所述源系统,源系统获知目标系统已经获得其推送的当前用户登录状态和当前用户信息。所述源系统通过所述验证页面,通知目标系统进行登录状态验证。
下面以一具体实现来进一步说明本申请原理。
参看图13,本应用场景是用户在登录源系统1301后需要使用目标系统1302的功能,而目标系统1302和源系统1301是不一样的用户体系。
参看图14,目标系统和源系统的单点登录步骤包括:
1401、用户在浏览器中点击属于目标系统的目标页面链接,发送访问请求至目标系统,所述访问请求包含目标网页URL、用户标识和其他业务参数。
1402、目标系统生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息。所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法(如SHA)生成的字符串。所述唯一登录标识具有小于2分钟的有效期。
1403、目标系统令所述浏览器流转到验证页面,该验证页面不需要用户操作,一切验证和流转都是自动完成,浏览器页面会显示如“正在自动登录中…”的提示。
1404、目标系统将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统。具体地,源系统检查当前会话(session)是否处于登录状态,获取当前用户登录状态和当前用户信息。
1405、源系统将唯一登录标识、当前用户登录状态和当前用户信息通过后端服务接口推送到目标系统。所述后端服务接口非开放接口,仅内部网络使用。因此,外部即使知道接口签名密钥也无法仿冒源系统上报信息,进一步增加了单点登录的安全性。
1406、目标系统接收到所述唯一登录标识以及当前用户登录状态和当前用户信息后,对所述接收的当前用户登录状态和当前用户信息进行验签。
1407、如验签通过,则根据所述唯一登录标识,获得步骤1401中所保存的相同的唯一登录标识对应的登录请求信息的保存位置,目标系统将相同的唯一登录标识对应的当前用户登录状态和当前用户信息同登录请求信息保存在一起。
1408、目标系统向源系统返回推送成功结果。
1409、源系统把接收的推送结果通过验证接口返回给浏览器中的验证页面。
1410、验证页面通知目标系统进行登录状态验证。
1411、目标系统通过唯一登录标识取出保存的登录请求信息和从源系统接收到的当前用户登录状态和当前用户信息进行登录状态验证。所述验证逻辑包括:登录请求信息是否超时;登录请求信息中的session Id和当前用户信息中的session Id是否一致;当前用户登录状态是否为登录成功。
1412、如验证成功,从保存的登录请求信息中提取目标页面URL,清除当前唯一登录标识对应的保存信息,并创建用户会话完成登录。
1413、目标系统完成登录后,将浏览器重定向到目标页面URL,并最终显示目标页面给请求的用户。
本申请的实施例提供的装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的单元以及模块划分方式仅是众多划分方式中的一种,如果划分为其他单元或模块或不划分块,只要信息对象的具有上述功能,都应该在本申请的保护范围之内。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用保存介质(包括但不限于磁盘保存器、CD-ROM、光学保存器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可保存在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读保存器中,使得保存在该计算机可读保存器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (18)

1.一种异构用户系统的单点登录方法,应用于目标系统,其特征在于,包括:
根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统;
接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息;
对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。
2.根据权利要求1所述的方法,其特征在于,所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法生成的字符串。
3.根据权利要求2所述的方法,其特征在于,所述唯一登录标识的有效期小于2分钟。
4.根据权利要求1所述的方法,其特征在于,所述接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息为:通过后端服务接口接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。
5.根据权利要求1所述的方法,其特征在于,所述接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息包括:
对接收的源系统推送的当前用户登录状态和当前用户信息进行验签;
如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
6.根据权利要求1所述的方法,其特征在于,所述接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息之后还包括:
返回推送成功结果至所述源系统;
接收源系统通过浏览器中的验证页面返回的进行登录状态验证的通知。
7.一种异构用户系统的单点登录方法,应用于源系统,其特征在于,包括:
接收目标系统通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息;
将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
8.根据权利要求7所述的方法,其特征在于,所述将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统为:通过后端服务接口将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
9.根据权利要求7所述的方法,其特征在于,所述将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统之后还包括:
接收所述目标系统返回的推送成功结果;
通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标系统。
10.一种异构用户系统的单点登录装置,应用于目标系统,其特征在于,包括:
标识生成模块,用于根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
信息发送模块,用于令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源系统;
信息接收模块,用于接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息;
信息验证模块,用于对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
页面显示模块,用于如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面。
11.根据权利要求10所述的装置,其特征在于,所述唯一登录标识为用户标识、session ID、时间戳进行拼接,并通过安全算法生成的字符串。
12.根据权利要求11所述的装置,其特征在于,所述唯一登录标识的有效期小于2分钟。
13.根据权利要求10所述的装置,其特征在于,所述信息接收模块具体用于通过后端服务接口接收并保存所述源系统推送的唯一登录标识以及当前用户登录状态和当前用户信息。
14.根据权利要求10所述的装置,其特征在于,所述信息接收模块包括:
验签单元,用于对接收的源系统推送的当前用户登录状态和当前用户信息进行验签;
保存单元,用于如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
15.根据权利要求10所述的装置,其特征在于,还包括:
第一返回模块,用于返回推送成功结果至所述源系统;
第一通知模块,用于接收源系统通过浏览器中的验证页面返回的进行登录状态验证的通知。
16.一种异构用户系统的单点登录装置,应用于源系统,其特征在于,包括:
标识接收模块,用于接收目标系统通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息;
信息推送模块,用于将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
17.根据权利要求16所述的装置,其特征在于,所述信息推送模块具体用于通过后端服务接口将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标系统。
18.根据权利要求16所述的装置,其特征在于,还包括:
第二返回模块,用于接收所述目标系统返回的推送成功结果;
第二通知模块,用于通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标系统。
CN201510379350.8A 2015-07-01 2015-07-01 一种异构用户系统的单点登录方法及其装置 Active CN106331042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510379350.8A CN106331042B (zh) 2015-07-01 2015-07-01 一种异构用户系统的单点登录方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510379350.8A CN106331042B (zh) 2015-07-01 2015-07-01 一种异构用户系统的单点登录方法及其装置

Publications (2)

Publication Number Publication Date
CN106331042A true CN106331042A (zh) 2017-01-11
CN106331042B CN106331042B (zh) 2020-04-07

Family

ID=57726717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510379350.8A Active CN106331042B (zh) 2015-07-01 2015-07-01 一种异构用户系统的单点登录方法及其装置

Country Status (1)

Country Link
CN (1) CN106331042B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109362074A (zh) * 2018-09-05 2019-02-19 福建福诺移动通信技术有限公司 一种混合模式APP中h5与服务端安全通讯的方法
CN109543376A (zh) * 2018-11-30 2019-03-29 高新兴科技集团股份有限公司 登陆认证方法、计算机存储介质及电子设备
CN110647736A (zh) * 2019-08-13 2020-01-03 平安科技(深圳)有限公司 插件式坐席系统登录方法、装置、计算机设备及存储介质
CN111212078A (zh) * 2020-01-09 2020-05-29 杭州涂鸦信息技术有限公司 一种异步获取网站登录状态的方法、装置及电子设备
CN111814133A (zh) * 2020-05-27 2020-10-23 平安国际智慧城市科技股份有限公司 移动应用统一登录方法及装置
CN113268720A (zh) * 2021-06-01 2021-08-17 广州欢网科技有限责任公司 一种前后端分离系统操作方法及装置
CN113741947A (zh) * 2021-08-27 2021-12-03 厦门华厦学院 一种解决孤岛问题的方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388774A (zh) * 2008-10-24 2009-03-18 焦点科技股份有限公司 一种在不同系统间自动认证识别用户身份并且登录的方法
US20120324556A1 (en) * 2011-06-17 2012-12-20 Ebay Inc. Passporting credentials between a mobile app and a web browser
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN104052746A (zh) * 2014-06-18 2014-09-17 华为技术有限公司 异构应用单点登录系统及其单点登录方法
CN104158818A (zh) * 2014-08-25 2014-11-19 中国联合网络通信集团有限公司 一种单点登录方法及系统
CN104243488A (zh) * 2014-09-29 2014-12-24 成都西山居互动娱乐科技有限公司 一种跨网站服务器的登录认证方法
CN104301316A (zh) * 2014-10-13 2015-01-21 中国电子科技集团公司第二十八研究所 一种单点登录系统及其实现方法
CN104580380A (zh) * 2014-12-15 2015-04-29 北京百度网讯科技有限公司 登录状态的同步方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388774A (zh) * 2008-10-24 2009-03-18 焦点科技股份有限公司 一种在不同系统间自动认证识别用户身份并且登录的方法
US20120324556A1 (en) * 2011-06-17 2012-12-20 Ebay Inc. Passporting credentials between a mobile app and a web browser
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN104052746A (zh) * 2014-06-18 2014-09-17 华为技术有限公司 异构应用单点登录系统及其单点登录方法
CN104158818A (zh) * 2014-08-25 2014-11-19 中国联合网络通信集团有限公司 一种单点登录方法及系统
CN104243488A (zh) * 2014-09-29 2014-12-24 成都西山居互动娱乐科技有限公司 一种跨网站服务器的登录认证方法
CN104301316A (zh) * 2014-10-13 2015-01-21 中国电子科技集团公司第二十八研究所 一种单点登录系统及其实现方法
CN104580380A (zh) * 2014-12-15 2015-04-29 北京百度网讯科技有限公司 登录状态的同步方法和系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109362074A (zh) * 2018-09-05 2019-02-19 福建福诺移动通信技术有限公司 一种混合模式APP中h5与服务端安全通讯的方法
CN109362074B (zh) * 2018-09-05 2022-12-06 福建福诺移动通信技术有限公司 一种混合模式APP中h5与服务端安全通讯的方法
CN109543376A (zh) * 2018-11-30 2019-03-29 高新兴科技集团股份有限公司 登陆认证方法、计算机存储介质及电子设备
CN109543376B (zh) * 2018-11-30 2021-04-23 高新兴科技集团股份有限公司 登陆认证方法、计算机存储介质及电子设备
CN110647736A (zh) * 2019-08-13 2020-01-03 平安科技(深圳)有限公司 插件式坐席系统登录方法、装置、计算机设备及存储介质
CN111212078A (zh) * 2020-01-09 2020-05-29 杭州涂鸦信息技术有限公司 一种异步获取网站登录状态的方法、装置及电子设备
CN111814133A (zh) * 2020-05-27 2020-10-23 平安国际智慧城市科技股份有限公司 移动应用统一登录方法及装置
CN113268720A (zh) * 2021-06-01 2021-08-17 广州欢网科技有限责任公司 一种前后端分离系统操作方法及装置
CN113268720B (zh) * 2021-06-01 2023-05-26 广州欢网科技有限责任公司 一种前后端分离系统操作方法及装置
CN113741947A (zh) * 2021-08-27 2021-12-03 厦门华厦学院 一种解决孤岛问题的方法及系统
CN113741947B (zh) * 2021-08-27 2023-11-14 厦门华厦学院 一种解决孤岛问题的方法及系统

Also Published As

Publication number Publication date
CN106331042B (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN106331042A (zh) 一种异构用户系统的单点登录方法及其装置
CN102480490B (zh) 一种用于防止csrf攻击的方法和设备
CN106131079B (zh) 一种认证方法、系统及代理服务器
CN109347835A (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
CN103220344B (zh) 微博授权使用方法和系统
CN105282126B (zh) 登录认证方法、终端及服务器
CN103475726B (zh) 一种虚拟桌面管理方法、服务器和客户端
CN106034104A (zh) 用于网络应用访问的验证方法、装置和系统
CN110351228A (zh) 远程登录方法、装置和系统
CN103428179B (zh) 一种登录多域名网站的方法、系统以及装置
Buchanan et al. Analysis of the adoption of security headers in HTTP
CN104079409A (zh) 账号的登录方法及装置
CN103634399B (zh) 一种实现跨域数据传输的方法和装置
CN105939326A (zh) 处理报文的方法及装置
WO2016173199A1 (zh) 一种移动应用单点登录方法及装置
CN105141605B (zh) 会话方法、网站服务器及浏览器
CN107733883B (zh) 一种检测批量注册账号的方法及装置
CN109861968A (zh) 资源访问控制方法、装置、计算机设备及存储介质
CN105450592A (zh) 安全校验方法、装置、服务器及终端
CN105306210A (zh) 一种利用应用程序实现授权的方法、装置及系统
CN106357601A (zh) 数据访问方法、装置及系统
CN109120611B (zh) 用于地址生成服务器的用户认证方法、设备、系统及介质
CN103971059B (zh) 一种Cookie本地存储与使用方法
CN103647652B (zh) 一种实现数据传输的方法、装置和服务器
CN105095729B (zh) 一种二维码登录方法、服务器及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant