CN106331042B - 一种异构用户***的单点登录方法及其装置 - Google Patents
一种异构用户***的单点登录方法及其装置 Download PDFInfo
- Publication number
- CN106331042B CN106331042B CN201510379350.8A CN201510379350A CN106331042B CN 106331042 B CN106331042 B CN 106331042B CN 201510379350 A CN201510379350 A CN 201510379350A CN 106331042 B CN106331042 B CN 106331042B
- Authority
- CN
- China
- Prior art keywords
- login
- current user
- unique
- information
- verification
- 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
Images
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/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- 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
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 (14)
1.一种异构用户***的单点登录方法,应用于目标***,其特征在于,包括:
根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源***;
通过后端服务接口接收并保存所述源***推送的唯一登录标识以及当前用户登录状态和当前用户信息;
对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面;
其中,所述目标***应用于异构应用对应的应用***的服务器;所述源***应用于登录过的应用***的服务器。
2.根据权利要求1所述的方法,其特征在于,所述唯一登录标识为用户标识、sessionID、时间戳进行拼接,并通过安全算法生成的字符串。
3.根据权利要求2所述的方法,其特征在于,所述唯一登录标识的有效期小于2分钟。
4.根据权利要求1所述的方法,其特征在于,所述接收并保存所述源***推送的唯一登录标识以及当前用户登录状态和当前用户信息包括:
对接收的源***推送的当前用户登录状态和当前用户信息进行验签;
如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
5.根据权利要求1所述的方法,其特征在于,所述接收并保存所述源***推送的唯一登录标识以及当前用户登录状态和当前用户信息之后还包括:
返回推送成功结果至所述源***;
接收源***通过浏览器中的验证页面返回的进行登录状态验证的通知。
6.一种异构用户***的单点登录方法,应用于源***,其特征在于,包括:
接收目标***通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息;
通过后端服务接口将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标***;
其中,所述目标***应用于异构应用对应的应用***的服务器;所述源***应用于登录过的应用***的服务器。
7.根据权利要求6所述的方法,其特征在于,所述将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标***之后还包括:
接收所述目标***返回的推送成功结果;
通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标***。
8.一种异构用户***的单点登录装置,应用于目标***,其特征在于,包括:
标识生成模块,用于根据用户通过浏览器发送的访问请求生成唯一登录标识,并保存所述唯一登录标识以及登录请求信息;
信息发送模块,用于令所述浏览器流转到验证页面,将所述唯一登录标识以及登录请求信息通过所述浏览器发送至源***;
信息接收模块,用于通过后端服务接口接收并保存所述源***推送的唯一登录标识以及当前用户登录状态和当前用户信息;
信息验证模块,用于对保存的相同唯一登录标识所对应的登录请求信息、当前用户登录状态和当前用户信息进行登录状态验证;
页面显示模块,用于如登录状态验证成功,将浏览器重定向至目标页面,显示所述访问请求对应的目标页面;
其中,所述目标***应用于异构应用对应的应用***的服务器;所述源***应用于登录过的应用***的服务器。
9.根据权利要求8所述的装置,其特征在于,所述唯一登录标识为用户标识、sessionID、时间戳进行拼接,并通过安全算法生成的字符串。
10.根据权利要求9所述的装置,其特征在于,所述唯一登录标识的有效期小于2分钟。
11.根据权利要求8所述的装置,其特征在于,所述信息接收模块包括:
验签单元,用于对接收的源***推送的当前用户登录状态和当前用户信息进行验签;
保存单元,用于如验签通过,则根据所述唯一登录标识保存所述当前用户登录状态和当前用户信息。
12.根据权利要求8所述的装置,其特征在于,还包括:
第一返回模块,用于返回推送成功结果至所述源***;
第一通知模块,用于接收源***通过浏览器中的验证页面返回的进行登录状态验证的通知。
13.一种异构用户***的单点登录装置,应用于源***,其特征在于,包括:
标识接收模块,用于接收目标***通过浏览器流转的验证页面发送的唯一登录标识以及登录请求信息;
信息推送模块,用于通过后端服务接口将所述唯一登录标识以及当前用户登录状态和当前用户信息推送至目标***;
其中,所述目标***应用于异构应用对应的应用***的服务器;所述源***应用于登录过的应用***的服务器。
14.根据权利要求13所述的装置,其特征在于,还包括:
第二返回模块,用于接收所述目标***返回的推送成功结果;
第二通知模块,用于通过浏览器中的验证页面返回进行登录状态验证的通知至所述目标***。
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 CN106331042A (zh) | 2017-01-11 |
CN106331042B true 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) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109362074B (zh) * | 2018-09-05 | 2022-12-06 | 福建福诺移动通信技术有限公司 | 一种混合模式APP中h5与服务端安全通讯的方法 |
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 | 平安国际智慧城市科技股份有限公司 | 移动应用统一登录方法及装置 |
CN113268720B (zh) * | 2021-06-01 | 2023-05-26 | 广州欢网科技有限责任公司 | 一种前后端分离***操作方法及装置 |
CN113741947B (zh) * | 2021-08-27 | 2023-11-14 | 厦门华厦学院 | 一种解决孤岛问题的方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388774A (zh) * | 2008-10-24 | 2009-03-18 | 焦点科技股份有限公司 | 一种在不同***间自动认证识别用户身份并且登录的方法 |
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 | 北京百度网讯科技有限公司 | 登录状态的同步方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881250B2 (en) * | 2011-06-17 | 2014-11-04 | Ebay Inc. | Passporting credentials between a mobile app and a web browser |
-
2015
- 2015-07-01 CN CN201510379350.8A patent/CN106331042B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388774A (zh) * | 2008-10-24 | 2009-03-18 | 焦点科技股份有限公司 | 一种在不同***间自动认证识别用户身份并且登录的方法 |
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 | 北京百度网讯科技有限公司 | 登录状态的同步方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN106331042A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106331042B (zh) | 一种异构用户***的单点登录方法及其装置 | |
US11757641B2 (en) | Decentralized data authentication | |
CN110677376B (zh) | 认证方法、相关设备和***及计算机可读存储介质 | |
CN110535648B (zh) | 电子凭证生成及验证和密钥控制方法、装置、***和介质 | |
CN114900338B (zh) | 一种加密解密方法、装置、设备和介质 | |
CN103023638B (zh) | 一种基于移动终端的身份验证方法及装置 | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
CN106911684B (zh) | 一种鉴权方法及*** | |
JP2018501567A (ja) | 装置検証方法及び機器 | |
US10250389B2 (en) | Script verification using a hash | |
US20160381001A1 (en) | Method and apparatus for identity authentication between systems | |
CN103179134A (zh) | 基于Cookie的单点登录方法、***及其应用服务器 | |
CN1937498A (zh) | 一种动态密码认证方法、***及装置 | |
WO2014083382A1 (en) | A system and method for authenticating the legitimacy of a request for a resource by a user | |
CN103634399B (zh) | 一种实现跨域数据传输的方法和装置 | |
CN111753014B (zh) | 基于区块链的身份认证方法及装置 | |
KR102137122B1 (ko) | 보안 체크 방법, 장치, 단말기 및 서버 | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
CN107733883B (zh) | 一种检测批量注册账号的方法及装置 | |
CN111835514A (zh) | 一种前后端分离数据安全交互的实现方法及*** | |
US20110093705A1 (en) | Method, device, and system for registering user generated content | |
CN111786996A (zh) | 一种跨域同步登录态的方法、装置及跨域同步登录*** | |
CN108390878B (zh) | 用于验证网络请求安全性的方法、装置 | |
CN108235067B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN106888200B (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 |