一种获取资源的方法及系统与流程

文档序号:15232938发布日期:2018-08-21 19:53阅读:158来源:国知局

本发明属于网络技术领域,尤其涉及一种获取资源的方法及系统。



背景技术:

目前适用于移动终端上的大多数应用,均需要通过权限认证才能够获取到响应的资源,例如,游戏应用、通信应用以及快捷支付应用等。

为了保证应用程序客户端访问服务器以获取某些特定资源的安全性,需要对客户端当前的账户信息进行权限认证。虽然现有技术中能够通过被访问的服务器对账户信息进行权限认证,但是当客户端需要同时获取不同服务器上的资源时,则需要不同的服务器对账户信息进行再一次或者多次的权限认证,因此,为了使不同的服务器能够对账户信息进行权限认证,需要对不同的服务器分别进行权限认证组件的配置,增加了开发成本。



技术实现要素:

有鉴于此,本发明实施例提供了一种获取资源的方法及系统,以解决现有技术中在客户端需要同时获取不同服务器上的资源时,不同的服务器分别对账户信息进行权限认证导致的开发成本过高的问题。

本发明实施例的第一方面提供了一种获取资源的方法,包括:

客户端检测到用于从至少两个服务器中获取资源的控制指令,则基于所述控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证;所述账户信息列表用于反映有权对每个所述控制指令指示的服务器进行访问的账户信息;

所述客户端若对所述当前账户信息进行权限认证的结果为成功,则根据所述控制指令生成资源请求信息,并对所述资源请求信息进行数字签名,得到数字签名结果;

所述客户端向所述控制指令指示的服务器发送所述资源请求信息与所述数字签名结果;

所述控制指令指示的服务器分别基于所述数字签名结果,对所述资源请求信息进行验证,并在验证成功后,根据所述资源请求信息向所述客户端返回资源。

本发明实施例的第二方面提供了一种获取资源的系统,包括:

客户端,用于检测到用于从至少两个服务器中获取资源的控制指令,则基于所述控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证;所述账户信息列表用于反映有权对每个所述控制指令指示的服务器进行访问的账户信息;

所述客户端,用于若对所述当前账户信息进行权限认证的结果为成功,则根据所述控制指令生成资源请求信息,并对所述资源请求信息进行数字签名,得到数字签名结果;

所述客户端,用于向所述控制指令指示的服务器发送所述资源请求信息与所述数字签名结果;

所述控制指令指示的服务器,用于分别基于所述数字签名结果,对所述资源请求信息进行验证,并在验证成功后,根据所述资源请求信息向所述客户端返回资源。

本发明实施例提供的一种获取资源的方法,通过客户端在检测用于从至少两个服务器中获取资源的控制指令时,基于该控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证,其中,该账户信息列表用于反映有权对每个控制指令指示的服务器进行访问的账户信息;客户端若对当前账户信息进行权限认证的结果为成功,则根据控制指令生成资源请求信息,并对资源请求信息进行数字签名,得到数字签名结果;并将该签字结果发送至控制指令指示的服务器,由控制指令指示的服务器分别基于数字签名结果,对资源请求信息进行验证,并在验证成功后,根据资源请求信息向客户端返回资源,使得在客户端需要同时获取不同服务器上的资源时,不需要不同的服务器分别对账户信息进行权限认证,进而无需对不同的服务器配置权限认证组件,降低了开发成本。

附图说明

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

图1是本发明实施例提供的一种获取资源的方法的实现流程示意图;

图2是本发明另一实施例提供的一种获取资源的方法的实现流程示意图;

图3是本发明另一实施例提供的一种获取资源的方法中步骤s21的具体流程示意图;

图4是本发明实施例提供的一种获取资源的系统的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

参见图1,是本发明实施例提供一种获取资源的方法的实现流程图。在本实施例中,获取资源的方法适用于实现客户端与至少两个服务器之间进行数据交互。如图1所示获取资源的方法可包括:

s11:客户端检测到用于从至少两个服务器中获取资源的控制指令,则基于所述控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证。

在步骤s11中,客户端为安装在用户终端中的应用程序客户端,控制指令为用户在该应用程序客户端的界面中进行操作所产生的指令,例如,用户通过对客户端显示界面中的页面跳转按钮进行操作,进而生成从至少两个服务器中获取资源的控制指令。账户信息列表用于反映有权对控制指令指示的服务器中的每个服务器进行访问的账户信息。当前账户信息指的是在客户端中进行登录的账户名称或标识。

在本实施例中,控制指令指示的服务器共同的账户信息列表为预先配置好的列表,对当前账户信息进行权限认证,如果从控制指令指示的服务器共同的账户信息列表中能够查找到与当前账户信息一致的信息,则当前账户信息权限认证结果为成功;如果从控制指令指示的服务器共同的账户信息列表中无法查找到与当前账户信息一致的信息,则当前账户信息权限认证结果为失败。

至于何时将控制指令指示的服务器共同的账户信息列表配置到客户端中,可以包括但不仅限于以下场景。

在客户端所在的终端中检测到相关联的目标客户端时,将控制指令指示的服务器共同的账户信息列表配置到客户端,其中,目标客户端的运营方与客户端的运营方相同。

例如,终端上安装有客户端a,当客户端a检测到所在的终端中已安装有相关联的目标客户端b时,向服务器发生资源配置请求,服务器根据该资源配置请求,将控制指令指示的服务器共同的账户信息列表配置到客户端a中。

s12:所述客户端若对所述当前账户信息进行权限认证的结果为成功,则根据所述控制指令生成资源请求信息,并对所述资源请求信息进行数字签名,得到数字签名结果。

在步骤s12中,资源请求信息用于,向控制指令指示的服务器请求返回相应的资源。

需要说明的是,控制指令控制客户端从至少两个服务器中获取资源,设定账户信息权限认证机制,只有权限认证成功的账户通过客户端可以从控制指令指示的服务器请求返回相应的资源,避免了资源的泄漏或者被恶意复制。

在本实施例中,为了验证资源请求信息在从客户端发送至服务器的过程中,资源请求信息是否被拦截并恶意篡改,对资源请求信息进行数字签名,并在控制指令指示的服务器中,通过对数字签名结果进行验证,进而确定资源请求信息在从客户端发送至服务器的过程中是否被拦截并恶意篡改。

具体地,通过执行预设的数字签名脚本,截取资源请求信息中的部分内容作为摘要,再根据默认设置的加密策略对所述资源请求信息的摘要进行加密,得到数字签名结果。与预设的数字签名脚本对应的,数字签名验证脚本被配置于控制指令指示的服务器中,数字签名验证脚本中描述了与默认设置的加密策略对应有解密策略,在控制指令指示的服务器接收到数字签名结果后,通过执行该数字签名验证脚本,对数字签名结果进行解密得到解密后的摘要,同时获取资源请求信息的摘要,通过对解密后的摘要与资源请求信息的摘要进行比对,进而确定资源请求信息在从客户端发送至服务器的过程中,是否被拦截并恶意篡改。

s13:所述客户端向所述控制指令指示的服务器发送所述资源请求信息与所述数字签名结果。

在步骤s13中,数字签名结果为客户端截取资源请求信息中的部分内容作为摘要,再根据默认设置的加密策略对所述资源请求信息的摘要进行加密所得到。

在本申请的所有实施例中,控制指令为用于从至少两个服务器中获取资源的控制指令,即控制指令指示的服务器包括两个或多个,客户端向控制指令指示的服务器发送资源请求信息与数字签名结果,可以同时向两个或多个服务器发送资源请求信息与数字签名结果。

在实际中,客户端向服务器发送资源请求信息与数字签名结果,服务器对数字签名结果进行验证成功后,通过调用网络数据服务接口如webservice接口,从数据库中获取到资源返回给客户端。

s14:所述控制指令指示的服务器分别基于所述数字签名结果,对所述资源请求信息进行验证,并在验证成功后,根据所述资源请求信息向所述客户端返回资源。

在步骤s14中,数字签名结果为加密后的资源请求信息的摘要,控制指令指示的服务器中的每个服务器分别对数字签名结果进行解密,基于解密结果对资源请求信息进行验证。

在本实施例中,控制指令指示的服务器通过分别执行数字签名验证脚本对数字签名结果进行解密,得到目标摘要,同时获取资源请求信息的摘要,以目标摘要为参考,对资源请求信息的摘要进行验证,如果资源请求信息的摘要与目标摘要的内容一致,则验证成功,如果资源请求信息的摘要与目标摘要的内容不一致,则验证失败。

由于数字签名结果是客户端通过执行预设的数字签名脚本对资源请求信息的摘要进行加密后得到的结果,因此,就算资源请求信息与数字签名结果被恶意截取,数字签名结果中的内容也无法被篡改。然而,在资源请求信息从客户端发送至服务器的过程中,由于资源请求信息为未加密信息,若被拦截则容易遭到恶意篡改,通过服务器以客户端发送数字签名结果为参考,对客户端发送的资源请求信息进行验证,可以防止服务器根据已被篡改后的资源请求信息返回资源,避免暴露服务器的地址,从而提高了资源的安全性。

以上可以看出,本发明实施例提供的一种获取资源的方法,通过客户端在检测用于从至少两个服务器中获取资源的控制指令时,基于该控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证,其中,该账户信息列表用于反映有权对每个控制指令指示的服务器进行访问的账户信息;客户端若对当前账户信息进行权限认证的结果为成功,则根据控制指令生成资源请求信息,并对资源请求信息进行数字签名,得到数字签名结果;并将该签字结果发送至控制指令指示的服务器,由控制指令指示的服务器分别基于数字签名结果,对资源请求信息进行验证,并在验证成功后,根据资源请求信息向客户端返回资源,使得在客户端需要同时获取不同服务器上的资源时,不需要不同的服务器分别对账户信息进行权限认证,进而无需对不同的服务器配置权限认证组件,降低了开发成本。

作为本申请的另一实施例,在上一实施例的基础上,对当前账户信息进行权限认证之前的步骤做进一步地限定。如图2所示,上述获取资源的方法还包括:

s21:所述客户端接收每个所述控制指令指示的服务器的账户列表,并对每个所述服务器的账户列表进行扫描,得到待处理列表,并对所述待处理列表中内容相同的账户信息配置标记戳,基于所述标记戳对所述待处理列表进行剔除操作,得到所述控制指令指示的服务器共同的账户信息列表。

在步骤s21中,账户列表中的数据为有权对服务器进行访问的账户信息。

在本实施例中,控制指令指示的服务器包括两个或多个服务器,由于一个用户所拥有的账户信息具备对多个服务器进行访问的权限,因此,该账户信息可能同时存在于多个服务器中,通过对待处理列表进行相同账户信息的剔除,能够减少控制指令指示的服务器共同的账户信息列表中的冗余信息。

需要说明的是,待处理列表中内容相同的账户信息,指的是账户的名称或者标识相同,相同的名称或相同的标识,所指向的用户均为同一个用户。

标记戳用于标记待处理列表中内容相同的账户信息,对待处理列表中内容相同的账户信息进行剔除操作时,可以通过识别标记戳确定相同的账户信息在待处理列表中的位置,以及相同的账户信息在待处理列表中的数目,为对待处理列表中内容相同的账户信息进行剔除操作提供参考。

参见图3,图3是本发明另一实施例提供一种获取资源的方法中步骤s21的具体流程图。在本实施例中,待处理列表中包括多组内容相同的账户信息,每组所述内容相同的账户信息分别对应的所述标记戳不同。

如图3所示,步骤s21包括:

s211:所述客户端对所述待处理列表中,每组所述内容相同的账户信息对应的所述标记戳个数n进行统计,n为大于1的整数。

s212:所述客户端对每组所述内容相同的账户信息进行n-1次剔除操作,得到所述控制指令指示的服务器共同的账户信息列表。

在本实施例中,待处理列表中包括多组内容相同的账户信息,为了避免剔除操作过程中出现剔除错误的操作,在针对每组内容相同的账户信息进行剔除前,先通过统计每组内容相同的账户信息在待处理列表中的个数,再确定相应的剔除次数。

需要说明的是,n用于表示同一种标记戳在待处理列表中的个数,与一组内容相同的账户信息在待处理列表中的个数相同。对每组内容相同的账户信息进行n-1次剔除操作,得到控制指令指示的服务器共同的账户信息列表。

以待处理列表中,内容相同的账户信息对应的标记戳包括标记戳a、标记戳b以及标记戳c为例,其中,标记戳a用于标记第一种内容相同的账户信息,标记戳b用于标记第二种内容相同的账户信息,标记戳c用于标记第三种内容相同的账户信息。

客户端对待处理列表中,每组内容相同的账户信息对应的标记戳个数n进行统计,n为大于1的整数,即客户端对待处理列表中的标记戳a、标记戳b以及标记戳c分别进行统计,得到标记戳a的个数为7、标记戳b的个数为8以及标记戳c的个数为9;客户端对每组内容相同的账户信息进行n-1次剔除操作,得到控制指令指示的服务器共同的账户信息列表,即客户端对第一种内容相同的账户信息进行6次(7减1次)剔除操作,客户端对第二种内容相同的账户信息进行7次(8减1次)剔除操作,客户端对第三种内容相同的账户信息进行8次(9减1次)剔除操作。

可以理解的是,在客户端对待处理列表中的内容相同的账户信息进行剔除操作时,可以同时针对不同组别的内容相同的账户信息进行剔除。

s11:客户端检测到用于从至少两个服务器中获取资源的控制指令,则基于所述控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证。

s12:所述客户端若对所述当前账户信息进行权限认证的结果为成功,则根据所述控制指令生成资源请求信息,并对所述资源请求信息进行数字签名,得到数字签名结果。

在步骤s12中,资源请求信息用于,向控制指令指示的服务器请求返回资源。

需要说明的是,控制指令控制客户端从至少两个服务器中获取资源,设定账户信息权限认证机制,只有权限认证成功的账户通过客户端可以从控制指令指示的服务器请求返回相应的资源,避免了资源的泄漏或者被恶意复制。

在本实施例中,为了验证资源请求信息在从客户端发送至服务器的过程中,资源请求信息是否被拦截并恶意篡改,对资源请求信息进行数字签名,并在控制指令指示的服务器中,通过对数字签名结果进行验证,进而确定资源请求信息在从客户端发送至服务器的过程中是否被拦截并恶意篡改。

步骤s12具体包括:所述客户端调用摘要工具获取所述资源请求信息的摘要,并调用预设私钥对所述资源请求信息的摘要进行加密,得到所述数字签名结果;其中,所述预设私钥对应的公钥配置于所述控制指令指示的每个服务器。

需要说明的是,预设私钥与公钥之间操作相对应的加密策略和解密策略,其中,预设私钥用于对资源请求信息的摘要进行加密,得到数字签名结果,客端将资源请求信息与数字签名结果一同发送给控制指令指示的服务器,由控制指令指示的服务器调用公钥对数字签名结果进行解密,并基于解密结果判断资源请求信息是否被篡改。

s13:所述客户端向所述控制指令指示的服务器发送所述资源请求信息与所述数字签名结果。

在步骤s13中,数字签名结果为客户端截取资源请求信息中的部分内容作为摘要,再根据默认设置的加密策略对所述资源请求信息的摘要进行加密所得到。

在本申请的所有实施例中,控制指令为用于从至少两个服务器中获取资源的控制指令,即控制指令指示的服务器包括两个或多个,客户端向控制指令指示的服务器发送资源请求信息与数字签名结果,可以同时向两个或多个服务器发送资源请求信息与数字签名结果。

s14:所述控制指令指示的服务器分别基于所述数字签名结果,对所述资源请求信息进行验证,并在验证成功后,根据所述资源请求信息向所述客户端返回资源。

在步骤s14中,数字签名结果为加密后的资源请求信息的摘要,控制指令指示的服务器中的每个服务器分别对数字签名结果进行解密,基于解密结果对资源请求信息进行验证。

在本实施例中,步骤s14具体包括:所述控制指令指示的服务器分别调用摘要工具获取所述资源请求信息的摘要,同时调用所述公钥对所述数字签名结果进行解密,得到目标摘要,并比对所述目标摘要与所述资源请求信息的摘要是否相同;所述控制指令指示的服务器在所述目标摘要与所述资源请求信息的摘要相同时,分别根据所述资源请求信息向所述客户端返回所述资源。

需要说明的是,由于数字签名结果是客户端通过执行预设的数字签名脚本对资源请求信息的摘要进行加密后得到的结果,因此,当资源请求信息与数字签名结果被恶意截取后,数字签名结果中的内容也无法被篡改。然而,在资源请求信息从客户端发送至服务器的过程中,由于资源请求信息为未加密信息,若被拦截则容易遭到恶意篡改,通过服务器以客户端发送数字签名结果为参考,对客户端发送的资源请求信息进行验证,可以防止服务器根据已被篡改后的资源请求信息返回资源,避免暴露服务器的地址,从而提高了资源的安全性。

以上可以看出,本发明实施例提供的一种获取资源的方法,通过客户端在检测用于从至少两个服务器中获取资源的控制指令时,基于该控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证,其中,该账户信息列表用于反映有权对每个控制指令指示的服务器进行访问的账户信息;客户端若对当前账户信息进行权限认证的结果为成功,则根据控制指令生成资源请求信息,并对资源请求信息进行数字签名,得到数字签名结果;并将该签字结果发送至控制指令指示的服务器,由控制指令指示的服务器分别基于数字签名结果,对资源请求信息进行验证,并在验证成功后,根据资源请求信息向客户端返回资源,使得在客户端需要同时获取不同服务器上的资源时,不需要不同的服务器分别对账户信息进行权限认证,进而无需对不同的服务器配置权限认证组件,降低了开发成本。

通过对待处理列表进行相同账户信息的剔除,能够减少控制指令指示的服务器共同的账户信息列表中的冗余信息,为客户端所在的终端节约了存储空间。

参见图4,图4是本发明实施例提供的一种获取资源的系统的结构示意图。本实施例的一种获取资源的系统2包括:客户端21和服务器集群22,其中,服务器集群22中包括控制指令指示的服务器221。

客户端21,用于检测到用于从至少两个服务器221中获取资源的控制指令,则基于所述控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证;所述账户信息列表用于反映有权对每个所述控制指令指示的服务器221进行访问的账户信息。

客户端21,用于若对所述当前账户信息进行权限认证的结果为成功,则根据所述控制指令生成资源请求信息,并对所述资源请求信息进行数字签名,得到数字签名结果。

客户端21,用于向所述控制指令指示的服务器221发送所述资源请求信息与所述数字签名结果。

控制指令指示的服务器221,用于分别基于所述数字签名结果,对所述资源请求信息进行验证,并在验证成功后,根据所述资源请求信息向所述客户端21返回资源。

进一步,作为本实施例一种可能的实现方式,客户端21还用于,接收每个所述控制指令指示的服务器的账户列表,并对每个所述服务器的账户列表进行扫描,得到待处理列表,并对所述待处理列表中内容相同的账户信息配置标记戳,基于所述标记戳对所述待处理列表进行剔除操作,得到所述控制指令指示的服务器共同的账户信息列表。

进一步,待处理列表中包括多组内容相同的账户信息,每组所述内容相同的账户信息分别对应的所述标记戳不同。

客户端21具体用于,对所述待处理列表中,每组所述内容相同的账户信息对应的所述标记戳个数n进行统计,n为大于1的整数;对每组所述内容相同的账户信息进行n-1次剔除操作,得到所述控制指令指示的服务器共同的账户信息列表。

进一步,作为本实施例一种可能的实现方式,客户端21还用于,调用摘要工具获取所述资源请求信息的摘要,并调用预设私钥对所述资源请求信息的摘要进行加密,得到所述数字签名结果;其中,所述预设私钥对应的公钥配置于所述控制指令指示的每个服务器221。

进一步,作为本实施例一种可能的实现方式,控制指令指示的服务器221,具体用于分别调用摘要工具获取所述资源请求信息的摘要,同时调用所述公钥对所述数字签名结果进行解密,得到目标摘要,并比对所述目标摘要与所述资源请求信息的摘要是否相同;在所述目标摘要与所述资源请求信息的摘要相同时,分别根据所述资源请求信息向所述客户端21返回所述资源。

以上可以看出,本发明实施例通过客户端在检测用于从至少两个服务器中获取资源的控制指令时,基于该控制指令指示的服务器共同的账户信息列表,对当前账户信息进行权限认证,其中,该账户信息列表用于反映有权对每个控制指令指示的服务器进行访问的账户信息;客户端若对当前账户信息进行权限认证的结果为成功,则根据控制指令生成资源请求信息,并对资源请求信息进行数字签名,得到数字签名结果;并将该签字结果发送至控制指令指示的服务器,由控制指令指示的服务器分别基于数字签名结果,对资源请求信息进行验证,并在验证成功后,根据资源请求信息向客户端返回资源,使得在客户端需要同时获取不同服务器上的资源时,不需要不同的服务器分别对账户信息进行权限认证,进而无需对不同的服务器配置权限认证组件,降低了开发成本。

通过对待处理列表进行相同账户信息的剔除,能够减少控制指令指示的服务器共同的账户信息列表中的冗余信息,为客户端所在的终端节约了存储空间。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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