用户身份验证方法及装置与流程

文档序号:18617185发布日期:2019-09-06 22:08阅读:285来源:国知局
用户身份验证方法及装置与流程

本发明涉及信息安全技术领域,尤其涉及一种用户身份验证方法及装置。



背景技术:

身份验证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份验证方式是系统通过核对用户输入的用户名和密码,看其是否与系统中存储的该用户的用户名和密码一致,来判断用户身份是否正确。一般来说,每个应用系统都拥有独立的用户信息管理功能,所以各系统中的用户名和密码也是独立存储的。当用户需要使用多个应用系统时,就会带来用户名和密码同步的问题,同步用户名和密码会增加系统的复杂性,增加管理的成本。

目前解决用户名和密码同步问题的常用方法就是建立统一用户管理系统,统一存储所有应用系统的用户信息,应用系统对用户的验证过程全部通过统一用户管理系统完成,而授权等操作则由各应用系统完成,即统一存储、分布授权。但在实际应用中,只有在后期业务系统增加到一定规模时,才会有建立统一用户管理系统的需求。此时,需要对业务系统进行改造,而改造成本和难度往往是巨大的。



技术实现要素:

为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的用户身份验证方法及装置。

根据本发明实施例的第一方面,提供了一种用户身份验证方法,包括:

对于任意两个业务系统,任意两个业务系统分别为第一业务系统及第二业务系统,若检测到用户已登录第一业务系统且需要登录第二业务系统,则从第一业务系统中获取验证信息,验证信息至少包括用户标识;

若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。

可选地,验证信息还包括以下信息中的至少任意一项,以下信息分别为第一业务系统对应的应用标识、在第一业务系统中获取到的登录时间戳及第一加密字符串。

可选地,第一加密字符串是在第一业务系统中,按照预设加密方式对由第一业务系统的应用标识、用户标识、登录时间戳及第一业务系统对应的密钥所组成的字符串进行加密后得到的。

可选地,预设条件包括在第二业务系统中,检测到用户标识有效。

可选地,验证信息还包括登录时间戳;相应地,预设条件还包括在第二业务系统中,登录时间戳在有效期内。

可选地,验证信息还包括第一加密字符串;相应地,预设条件还包括第一加密字符串与在第二业务系统中获取到的第二加密字符串一致。

可选地,第二加密字符串是在第二业务系统中,按照预设加密方式对由第一业务系统的应用标识、用户标识、登录时间戳及第一业务系统对应的密钥所组成的字符串进行加密后得到的。

根据本发明实施例的第二方面,提供了一种用户身份验证装置,包括:

获取模块,用于对于任意两个业务系统,任意两个业务系统分别为第一业务系统及第二业务系统,若检测到用户已登录第一业务系统且需要登录第二业务系统,则从第一业务系统中获取验证信息,验证信息至少包括用户标识;

登录模块,用于当检测到在第二业务系统中验证信息满足预设条件时,则确定用户通过第二业务系统的验证。

根据本发明实施例的第三方面,提供了一种电子设备,包括:

至少一个处理器;以及

与处理器通信连接的至少一个存储器,其中:

存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的用户身份验证方法。

根据本发明的第四方面,提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的用户身份验证方法。

本发明实施例提供的用户身份验证方法及装置,通过在检测到用户已登录第一业务系统且需要登录第二业务系统时,则从第一业务系统中获取验证信息。若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。由于可去中心化,从而可减少因为统一用户系统造成的单点后果,降低因为统一用户系统宕机而造成的影响。另外,由于能够良好的支持网状布局环境,从而各业务系统可各自保持其用户中心,并可以渐进式改造,避免一刀切造成的风险,进而显著降低改造成本。最后,由于任何平台的业务系统都可以接入,从而对业务系统的业务代码侵入性很低。

应当理解的是,以上的一般描述和后文的细节描述是示例性和解释性的,并不能限制本发明实施例。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种用户身份验证方法的流程示意图;

图2为本发明实施例提供的一种用户身份验证方法的流程示意图;

图3为本发明实施例提供的一种用户身份验证装置的结构示意图;

图4为本发明实施例提供的一种电子设备的框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对相关技术中的问题,本发明实施例提供了一种用户身份验证方法。该方法可以应用在局域网内不同的web应用中,本发明实施例对此不作具体限定。具体地,不同web应用可以对应不同的业务系统,对于其中某一web应用,当用户登录该web应用后,可能还需要登录另一个web应用,本发明实施例提供的方法即可应用于上述场景。需要说明的是,本发明实施例提供的方法涉及到第一业务系统及第二业务系统,该两个业务系统可以处于局域网内的同一终端上,从而本发明实施例提供的方法的执行主体可以为该终端。若第一业务系统处于局域网内的第一终端上,第二业务系统处于局域网内的第二终端上,则本发明实施例提供的方法中与第一业务系统相关的方法流程可以由第一终端执行,与第二业务系统相关的方法流程可以由第二终端执行,本发明实施例对此不作具体限定。

参见图1,该方法包括:101、对于任意两个业务系统,任意两个业务系统分别为第一业务系统及第二业务系统,若检测到用户已登录第一业务系统且需要登录第二业务系统,则从第一业务系统中获取验证信息,验证信息至少包括用户标识;102、若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。

在101中,用户标识可以具体为用户名,本发明实施例对此不作具体限定。用户可以在第一业务系统对应的web应用中输入用户名及密码,从而登录第一业务系统。用户在登录第一业务系统后,可能需要打开第二业务系统对应的web应用。由此,用户需要登录第二业务系统。其中,检测用户是否需要登录第二业务系统的方式可以为检测用户是否在访问第二业务系统对应web应用的网址,本发明实施例对此不作具体限定。若检测到用户在使用第一业务系统对应的web应用时,访问了第二业务系统对应web应用的网址,则可确定用户需要登录第二业务系统。

从第一业务系统获取到的验证信息后,可将验证信息传递至第二业务系统。由于第二业务系统对验证信息进行验证,以判断验证信息是否满足预设条件。若第二业务系统对验证信息进行验证后,验证信息满足预设条件,则确定用户通过第二业务系统的验证。

本发明实施例提供的方法,通过在检测到用户已登录第一业务系统且需要登录第二业务系统时,则从第一业务系统中获取验证信息。若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。由于可去中心化,从而可减少因为统一用户系统造成的单点后果,降低因为统一用户系统宕机而造成的影响。另外,由于能够良好的支持网状布局环境,从而各业务系统可各自保持其用户中心,并可以渐进式改造,避免一刀切造成的风险,进而显著降低改造成本。最后,由于任何平台的业务系统都可以接入,从而对业务系统的业务代码侵入性很低。

基于上述实施例的内容,作为一种可选实施例,验证信息还包括以下信息中的至少任意一项,以下信息分别为第一业务系统对应的应用标识、在第一业务系统中获取到的登录时间戳及第一加密字符串。其中,每个业务系统均唯一对应一个应用标识。在第一业务系统中获取到的登录时间戳,具体可以为检测到需要登录第二业务系统的时刻,本发明实施例对此不作具体限定。

基于上述实施例的内容,作为一种可选实施例,第一加密字符串是在第一业务系统中,按照预设加密方式对由第一业务系统的应用标识、用户标识、登录时间戳及第一业务系统对应的密钥所组成的字符串进行加密后得到的。其中,每一业务系统均唯一对应一个密钥,具体可以将应用标识与密钥对应存储实现。预设加密方式可以为md5算法或者sha1算法,本发明实施例对此不作具体限定。

基于上述实施例的内容,作为一种可选实施例,预设条件包括在第二业务系统中,检测到用户标识有效。

基于上述实施例的内容,作为一种可选实施例,验证信息还包括登录时间戳;相应地,预设条件还包括在第二业务系统中,登录时间戳在有效期内。

基于上述实施例的内容,作为一种可选实施例,验证信息还包括第一加密字符串;相应地,预设条件还包括第一加密字符串与在第二业务系统中获取到的第二加密字符串一致。

基于上述实施例的内容,作为一种可选实施例,第二加密字符串是在第二业务系统中,按照预设加密方式对由第一业务系统的应用标识、用户标识、登录时间戳及第一业务系统对应的密钥所组成的字符串进行加密后得到的。其中,每一业务系统中可以存储其它业务系统对应的密钥。其中,去中心化的多个异构web应用之间进行认证的过程可参考图2。

为了便于理解,现以业务系统1及业务系统2为例,结合实际应用场景对用户验证的过程进行说明:

1、业务系统1及业务系统2均具备唯一的应用标识(appid)及密钥(secret);

2、在业务系统1中获取用户标识(uname)及登录时间戳(timestamp);

3、使用md5或者sha1加密算,按照一定的顺序,将由appid、uname、timestamp和secret组成的字符串进行不可逆加密,得到第一加密字符串(encode1);

4、使用http协议,将appid、uname、timestamp和encode1作为参数传递至业务系统2;

5、业务系统2在接收到传输的参数后,可进行逐一验证:

(1)判断appid是否有效,以决定是否接收业务系统1的验证请求,有效则继续执行;

(2)timestamp是否有效,是否在有效期内,有效则继续执行;

(3)查找appid对应的secret,并按照步骤3中的顺序进行相同的加密操作,得到第二加密字符串;

(4)将第一加密字符串与第二加密字符串进行比对,判断是否一致,若一致则继续执行;

(5)验证uname是否有效,是否在业务系统2中能够按照预先设定的映射关系找到对应的用户登录信息,若找到则表示通过验证;

(6)将用户登录信息写入session,并使得用户顺利登陆业务系统2。

基于上述实施例的内容,本发明实施例提供了一种用户身份验证装置,该用户身份验证装置用于执行上述方法实施例中提供的用户身份验证方法。参见图3,该装置包括:

获取模块301,用于对于任意两个业务系统,任意两个业务系统分别为第一业务系统及第二业务系统,若检测到用户已登录第一业务系统且需要登录第二业务系统,则从第一业务系统中获取验证信息,验证信息至少包括用户标识;

登录模块302,用于当检测到在第二业务系统中验证信息满足预设条件时,则确定用户通过第二业务系统的验证。

作为一种可选实施例,验证信息还包括以下信息中的至少任意一项,以下信息分别为第一业务系统对应的应用标识、在第一业务系统中获取到的登录时间戳及第一加密字符串。

作为一种可选实施例,第一加密字符串是在第一业务系统中,按照预设加密方式对由第一业务系统的应用标识、用户标识、登录时间戳及第一业务系统对应的密钥所组成的字符串进行加密后得到的。

作为一种可选实施例,预设条件包括在第二业务系统中,检测到用户标识有效。

作为一种可选实施例,验证信息还包括登录时间戳;相应地,预设条件还包括在第二业务系统中,登录时间戳在有效期内。

作为一种可选实施例,验证信息还包括第一加密字符串;相应地,预设条件还包括第一加密字符串与在第二业务系统中获取到的第二加密字符串一致。

作为一种可选实施例,第二加密字符串是在第二业务系统中,按照预设加密方式对由第一业务系统的应用标识、用户标识、登录时间戳及第一业务系统对应的密钥所组成的字符串进行加密后得到的。

本发明实施例提供的装置,通过在检测到用户已登录第一业务系统且需要登录第二业务系统时,则从第一业务系统中获取验证信息。若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。由于可去中心化,从而可减少因为统一用户系统造成的单点后果,降低因为统一用户系统宕机而造成的影响。另外,由于能够良好的支持网状布局环境,从而各业务系统可各自保持其用户中心,并可以渐进式改造,避免一刀切造成的风险,进而显著降低改造成本。最后,由于任何平台的业务系统都可以接入,从而对业务系统的业务代码侵入性很低。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communicationsinterface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:对于任意两个业务系统,任意两个业务系统分别为第一业务系统及第二业务系统,若检测到用户已登录第一业务系统且需要登录第二业务系统,则从第一业务系统中获取验证信息,验证信息至少包括用户标识;若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。

此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:对于任意两个业务系统,任意两个业务系统分别为第一业务系统及第二业务系统,若检测到用户已登录第一业务系统且需要登录第二业务系统,则从第一业务系统中获取验证信息,验证信息至少包括用户标识;若检测到在第二业务系统中验证信息满足预设条件,则确定用户通过第二业务系统的验证。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1