权限认证的方法、微服务系统、系统、装置及存储介质与流程

文档序号:33555319发布日期:2023-03-22 11:32阅读:40来源:国知局
权限认证的方法、微服务系统、系统、装置及存储介质与流程

1.本发明涉及计算机技术领域,特别涉及一种权限认证的方法、微服务系统、系统、装置及存储介质。


背景技术:

2.随着互联网产业的快速发展,企业通过开放管理平台可以快速整合企业甚至整个行业内部的系统能力,将已有的数据以及业务能力以服务的方式暴露出来,提供应用程序接口(application program interface,api)供外部的消费者使用,同时提供完整的服务全生命周期的管控能力以及服务的持续运营能力。
3.目前,公司开放产品管理平台主要的建设方案通过微服务架构方式构建,划分一个独立的服务作为能力开放网关,在外部代理到上游服务前,首先将请求代理至api能力开放服务,进行鉴权以及一系列业务认证操作,将结果返回至代理服务器,请求最终的目标地址,并返回结果。
4.但同时,通过将鉴权信息转发至外部系统的方式进行api能力认证导致请求调用链变长,并且依赖鉴权系统的网络环境,一旦鉴权服务宕机,将导致用户无法调用任何接口,极大降低了用户的体验。
5.鉴于此,如何不依赖外部系统进行鉴权成为了一个亟待解决的技术问题。


技术实现要素:

6.本发明实施例提供了一种权限认证的方法、微服务系统、系统、装置及存储介质,用于现有技术中需要依赖外部系统进行鉴权的技术问题。
7.本技术第一方面提供了一种权限认证的方法,应用于微服务平台中的网关中,包括:
8.接收用户发送的请求信息,根据所述请求信息验证所述用户是否为已注册的消费者,并验证所述请求信息中请求的服务应用是否能提供服务;
9.当校验结果为所述用户是已注册的消费者且请求的服务应用能提供服务,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额;
10.当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中。
11.可选的,接收用户发送的请求信息,包括:
12.计算所述请求信息发送至所述应用程序接口时的时间偏差;
13.当所述时间偏差大于预设时间偏差时,拒绝所述请求信息并返回对应的错误报告;
14.当所述时间偏差小于等于预设时间偏差时,接收所述请求信息。
15.可选的,根据所述请求信息验证所述用户的是否为已注册的消费者,包括:
16.从所述请求信息中提取所述用户的用户名、加密算法、加密值和验证值;
17.根据所述用户名查询所述用户注册时约定的密钥;
18.使用加密算法计算所述密钥和所述加密值对应的哈希值,对比所述验证值和所述哈希值,当所述验证值和所述哈希值一致时确定所述用户为已注册的消费者,否则确定所述用户不是已注册的消费者。
19.可选的,验证所述请求信息中请求的服务应用是否能提供服务,包括:
20.从所述请求信息中提取所述用户请求的服务应用,从所述缓存或数据库中提取所述服务应用对应的服务实体信息;
21.当所述缓存或所述数据库中提取到所述服务应用的服务实体信息,确定所述请求信息中请求的服务应用能提供服务;否则,确定所述请求信息中请求的服务应用不能提供服务。
22.可选的,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额,包括:
23.根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口;
24.根据所述请求信息中的用户名,在所述缓存中的服务配额信息中查询所述用户名对应的服务配额。
25.可选的,根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口,包括:
26.根据所述服务应用在所述缓存中查询对应的服务名称、请求方法和请求路径;
27.根据所述服务名称,在所述应用程序接口树中查询根节点名称相同的根节点,根据所述请求方法在所述根节点所在的树中查询对应的二级节点,根据所述请求路径在所述二级节点的子节点中查询对应的子节点,将查询匹配到的应用程序接口树的子节点作为所述服务应用对应的应用程序接口。
28.可选的,当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中,包括:
29.根据所述用户的用户名和所述请求信息中请求的服务应用,从所述缓存中查询所述服务应用与所述用户名对应的服务配额是否存在,同时查询所述服务配额是否大于零;
30.当所述服务配额存在且大于零时,扣减所述服务配额的额度,将所述请求信息发送至所述应用程序接口中。
31.可选的,扣减所述服务配额的额度,包括:
32.根据所述服务应用的开销扣减所述服务配额的额度,将扣减后的服务配额存入消息队列中,使所述服务应用通过所述消息队列同步所述消费后的服务配额。
33.第二方面,本技术提供了一种微服务系统,包括:
34.客户端,用于发送用户的请求信息;
35.网关,用于接收所述客户端发送的请求信息,并使用如第一方面中任一项所述的方法进行权限认证,并将认证通过的所述请求信息发送至应用程序接口中;
36.服务器端,用于通过应用程序接口中接收请求信息,并为所述用户提供相应的服务。
37.第三方面,本技术提供了一种权限认证的系统,包括:
38.请求信息验证单元,用于接收用户发送的请求信息,根据所述请求信息验证所述用户是否为已注册的消费者,并验证所述请求信息中请求的服务应用是否能提供服务;
39.服务应用调用单元,用于当校验结果为所述用户是已注册的消费者且请求的服务应用能提供服务,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额;
40.请求信息发送单元,用于当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中。
41.可选的,请求信息验证单元用于:
42.计算所述请求信息发送至所述应用程序接口时的时间偏差;
43.当所述时间偏差大于预设时间偏差时,拒绝所述请求信息并返回对应的错误报告;
44.当所述时间偏差小于等于预设时间偏差时,接收所述请求信息。
45.可选的,请求信息验证单元用于:
46.从所述请求信息中提取所述用户的用户名、加密算法、加密值和验证值;
47.根据所述用户名查询所述用户注册时约定的密钥;
48.使用加密算法计算所述密钥和所述加密值对应的哈希值,对比所述验证值和所述哈希值,当所述验证值和所述哈希值一致时确定所述用户为已注册的消费者,否则确定所述用户不是已注册的消费者。
49.可选的,请求信息验证单元用于:
50.从所述请求信息中提取所述用户请求的服务应用,从所述缓存或数据库中提取所述服务应用对应的服务实体信息;
51.当所述缓存或所述数据库中提取到所述服务应用的服务实体信息,确定所述请求信息中请求的服务应用能提供服务;否则,确定所述请求信息中请求的服务应用不能提供服务。
52.可选的,服务应用调用单元用于:
53.根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口;
54.根据所述请求信息中的用户名,在所述缓存中的服务配额信息中查询所述用户名对应的服务配额。
55.可选的,服务应用调用单元用于:
56.根据所述服务应用在所述缓存中查询对应的服务名称、请求方法和请求路径;
57.根据所述服务名称,在所述应用程序接口树中查询根节点名称相同的根节点,根据所述请求方法在所述根节点所在的树中查询对应的二级节点,根据所述请求路径在所述二级节点的子节点中查询对应的子节点,将查询匹配到的应用程序接口树的子节点作为所述服务应用对应的应用程序接口。
58.可选的,请求信息发送单元用于:
59.根据所述用户的用户名和所述请求信息中请求的服务应用,从所述缓存中查询所述服务应用与所述用户名对应的服务配额是否存在,同时查询所述服务配额是否大于零;
60.当所述服务配额存在且大于零时,扣减所述服务配额的额度,将所述请求信息发
送至所述应用程序接口中。
61.可选的,请求信息发送单元用于:
62.根据所述服务应用的开销扣减所述服务配额的额度,将扣减后的服务配额存入消息队列中,使所述服务应用通过所述消息队列同步所述消费后的服务配额。
63.第四方面,本技术提供了一种权限认证的装置,包括:
64.至少一个处理器,以及
65.与所述至少一个处理器连接的存储器;
66.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令执行如第一方面中任一项所述的方法。
67.第五方面,本技术提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的视频目标分割的方法的步骤。
68.本技术实施例中的技术方案具有以下有益效果:网关接收用户发送的请求信息,根据请求信息验证用户是否为已注册的消费者,并验证请求信息中请求的服务应用是否能提供服务;当校验结果为用户是已注册的消费者且请求的服务应用能提供服务,根据请求信息在缓存中检索服务应用对应的应用程序接口和用户的服务配额;当检索到用户的服务配额,且服务配额的额度大于零,将请求信息发送至应用程序接口中;从而通过网关完成对用户进行鉴权的过程,无需调用外部系统,减少了系统延时,提高了响应速度。
附图说明
69.图1是本技术实施例提供的一种权限认证的方法的流程图;
70.图2是本技术实施例提供的一种微服务平台的结构示意图;
71.图3是本技术实施例提供的一种api树的示意图;
72.图4是本技术实施例提供的一种微服务系统的结构示意图;
73.图5是本技术实施例提供的一种权限认证的系统的结构示意图。
具体实施方式
74.为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
75.现有技术中,鉴权过程一般是通过专用的权限认证服务完成,当用户发送请求信息后,网关将请求信息转发给权限认证服务;在权限认证服务中完成鉴权后,返回相应的权限认证信息给网关;然后网关再根据权限认证信息寻址对应的服务应用,并将请求信息发送给服务应用。在此过程中,请求调用链较长,并且依赖鉴权系统的网络环境,一旦鉴权服务宕机,将导致用户无法调用任何接口,极大降低了用户的体验。
76.为此,本技术提供了一种权限认证的方法,应用于微服务平台中的网关中,用于解决现有技术中需要依赖外部系统进行鉴权的技术问题,请参见图1,该方法包括:
77.101、接收用户发送的请求信息,根据请求信息验证用户是否为已注册的消费者,并验证请求信息中请求的服务应用是否能提供服务;
78.102、当校验结果为用户是已注册的消费者且请求的服务应用能提供服务,根据请
求信息在缓存中检索服务应用对应的应用程序接口和用户的服务配额;
79.103、当检索到用户的服务配额,且服务配额的额度大于零,将请求信息发送至应用程序接口中。
80.例如,请参见图2,图2为本技术实施例提供的一种微服务系统的结构示意图,其中包括:客户端21、网关22和服务端23。
81.当用户通过客户端21发送请求信息1时,客户端21将请求信息1发送给微服务平台的网关22处。网关22接收到请求信息1后,先根据请求信息验证用户是否是已经注册的消费者和请求信息1请求的服务应用能否提供服务。
82.网关22从请求信息1中提取该用户的用户名为{用户a}、使用的加密算法为{hmac-sha1}、请求信息1对应的加密值为{512}、验证值为{eefaca8b328f160e24defc94caf208f73e9c401b}。网关22根据用户名{用户a}查询该用户注册时约定的密钥为{a},然后用户将加密值{512}和密钥{a}输入到加密算法{hmac-sha1}中进行计算,得到的哈希值为{eefaca8b328f160e24defc94caf208f73e9c401b}。网关22将计算获得的哈希值{eefaca8b328f160e24defc94caf208f73e9c401b}和请求信息1中提取的验证值{eefaca8b328f160e24defc94caf208f73e9c401b}进行对比,结果为两者一致,因此确定该用户为已注册的消费者{用户a}。然后网关22从请求信息1中提取该用户请求的服务应用为{服务应用b},网关22在缓存的服务应用数据库中检索{服务应用b}对应的服务实体为服务端23,因此确定请求信息1请求的服务应用能提供服务。
83.随后,网关22在缓存中检索服务端23对应的api接口,检索结果为服务端23对应的api接口为api接口b,而用户的服务配额为5次,因此确定该用户有权限访问服务端23的服务。最后网关22将请求信息1转发至api接口b处,通过api接口b访问服务端23的服务。
84.在本技术实施例中,网关接收用户发送的请求信息,根据请求信息验证用户是否为已注册的消费者,并验证请求信息中请求的服务应用是否能提供服务;当校验结果为用户是已注册的消费者且请求的服务应用能提供服务,根据请求信息在缓存中检索服务应用对应的应用程序接口和用户的服务配额;当检索到用户的服务配额,且服务配额的额度大于零,将请求信息发送至应用程序接口中;从而通过网关完成对用户进行鉴权的过程,无需调用外部系统,减少了系统延时,提高了响应速度。
85.一种可能的实施方式,上述步骤101中的接收用户发送的请求信息,包括:
86.计算请求信息发送至应用程序接口时的时间偏差;当时间偏差大于预设时间偏差时,拒绝请求信息并返回对应的错误报告;当时间偏差小于等于预设时间偏差时,接收请求信息。
87.例如,网关22接收到请求信息1后,计算得到请求信息1从客户端21发送至api接口的时间为25ms,而预设发送时间为20ms,预设时间偏差为3ms。网关22计算到请求信息1发送至api接口的时间偏差为5ms,大于预设时间偏差3ms,因此拒绝请求信息1并向客户端21发送对应的错误报告“客户端和服务器端的时间不一致”。
88.客户端21接收到错误报告后自检排障,并再次向网关22发送请求信息1,此时计算得到请求信息1从客户端21发送至api接口的时间为19ms,对应的时间偏差为1ms,小于预设时间偏差3ms。因此,网关22接收请求信息1并进行权限认证。
89.在本技术实施例中,网关22会计算客户端21和服务端23之间的时间偏差,当时间
偏差在预设范围内时,才接收请求信息并执行后续权限认证的方法;当时间偏差超过预设范围时,拒绝请求信息,并返回对应的错误报告,从而保证了客户端21和服务端23之间连接稳定,避免因网络波动等问题导致重复处理同一请求信息,防止重复攻击。
90.一种可能的实施方式,上述步骤101中的根据请求信息验证用户的是否为已注册的消费者,包括:
91.从请求信息中提取用户的用户名、加密算法、加密值和验证值;根据用户名查询用户注册时约定的密钥;使用加密算法计算密钥和加密值对应的哈希值,对比验证值和哈希值,当验证值和哈希值一致时确定用户为已注册的消费者,否则确定用户不是已注册的消费者。
92.例如,当用户通过客户端21访问网关22之前,先会在网关22中注册其用户身份,在注册时网关22和用户名a会约定一个身份验证所使用的密钥{a},这个密钥在注册完毕后不会在请求消息中进行传递。当用户通过客户端21发送请求消息1后,会在请求消息1中附上注册时使用的用户名{用户名a}。当客户端21发送请求消息1时,会在请求消息1中存放{用户名a}、签名所使用的哈希加密算法{hmac-sha1}、签名时使用的被加密的加密值{512}和签名后的验证值{eefaca8b328f160e24defc94caf208f73e9c401b}。网关22使用同样的哈希加密算法{hmac-sha1},配合被加密的加密值{512}和用户在注册时约定好的密钥{a}进行哈希运算,获得对应的哈希值为{eefaca8b328f160e24defc94caf208f73e9c401b}。最后,网关22将本地运算获得哈希值和请求信息1中的验证值进行对比,两者一致,因此发送请求信息1的用户为已注册的消费者。
93.当网关22接收到请求信息2时,提取其中的用户名{用户a}、加密算法{h mac-sha1}、加密值{256}和验证值为{faf3189c8fe97df4745d3e10bced4246701389d0},网关22根据{用户名a}查询对应的密钥为{a},然后使用hmac-sha1算法配合密钥{a}和加密值{256},计算得到哈希值为{b216ec2ed413e7f0b4011cf a4b08ec9502381d07}。显然计算得到的哈希值和验证值不同,因此网关22确定发送请求信息2的用户不是已注册的消费者。
94.在本技术实施例中,网关22通过哈希算法校验客户端21发送的请求信息,当用户未注册或者请求信息被篡改,均无法通过哈希校验,保证了请求信息的安全性和服务端23的安全。
95.一种可能的实施方式,上述步骤101中的验证请求信息中请求的服务应用是否能提供服务,包括:
96.从请求信息中提取用户请求的服务应用,从缓存或数据库中提取服务应用对应的服务实体信息;
97.当缓存或数据库中提取到服务应用的服务实体信息,确定请求信息中请求的服务应用能提供服务;否则,确定请求信息中请求的服务应用不能提供服务。
98.例如,网关22接收到请求信息1中用户请求的服务应用为{服务应用b},网关22在缓存的服务应用数据库中检索{服务应用b}对应的服务实体为服务端23,因此确定请求信息1请求的服务应用能提供服务。
99.当网关接收到请求信息3中用户请求的服务应用为服务应用a,而缓存的服务应用数据中并未检索到{服务应用a}对应的服务实体,因此确定请求信息3请求的服务应用无法提供服务。
100.在具体实施中,相应的程序实例如下:
[0101][0102][0103]
在本技术实施例中,网关22能够通过缓存中的服务应用数据检索请求信息中请求的服务应用,从而确定该服务应用是否能够为用户提供服务。
[0104]
一种可能的实施方式,上述步骤102中根据请求信息在缓存中检索服务应用对应的应用程序接口和用户的服务配额,包括:
[0105]
根据请求信息中用户请求的服务应用,在缓存中的应用程序接口树中进行查询,获取服务应用对应的应用程序接口;
[0106]
根据请求信息中的用户名,在缓存中的服务配额信息中查询用户名对应的服务配额。
[0107]
例如,网关22在验证了请求信息1之后,根据请求消息1中请求的服务应用b,在缓存中查询对应的api接口。同时根据请求消息1中的{用户名a},查询到用户名a名下的服务应用b的服务配额为5次。
[0108]
在本技术实施例中,网关22通过请求消息中请求的服务应用和用户名,查询对应的api接口和用户对应的服务配额的额度,从而确定该用户是否能够访问对应的服务应用。
[0109]
一种可能的实施方式,上述步骤102中的根据请求信息中用户请求的服务应用,在缓存中的应用程序接口树中进行查询,获取服务应用对应的应用程序接口,包括:
[0110]
根据服务应用在缓存中查询对应的服务名称、请求方法和请求路径;
[0111]
根据服务名称,在应用程序接口树中查询根节点名称相同的根节点,根据请求方法在根节点所在的树中查询对应的二级节点,根据请求路径在二级节点的子节点中查询对应的子节点,将查询匹配到的应用程序接口树的子节点作为服务应用对应的应用程序接口。
[0112]
例如,网关22中的api接口数据可以以api树的形式保存,其中根节点为api名称,
二级节点为api请求方法,三级及以下节点为请求路径名,并以请求路径中的分隔符“/”作为划分,其次生成下级节点,请参见图3,图3为本技术实施例提供的一种api树的示意图,其中该api树的根节点为{服务应用b},二级节点有{post}和{delete}等等、下级节点有{api接口a}、{api接口b}和{api接口z}等等。
[0113]
在实际实施中,为了防止其他api暴露地址遭受攻击,同时方便应对大批量服务请求,可以将api缓存至本地中,其对应的程序示例如下:
[0114][0115][0116]
网关22在接收到请求信息1请求{服务应用b}时,先在根节点中查询服务应用b,然后根据请求的服务类型{post}查询对应的二级节点,最后按照请求的路径查询二级节点后的下级节点,得到对应的节点为{api接口b},因此将api接口b作为请求信息1对应的api。
[0117]
在具体实施中,其对应的程序示例如下:
[0118]
[0119]
[0120][0121]
在实际应用中,由于api请求与服务不同,由于api请求中会包含一些参数,导致api并不唯一,使得网关22无法直接获取唯一api响应api请求,而是仅能获得对应的服务下的全部api再进行匹配。而在此过程中需要网关22遍历服务下的全部api,不仅占用大量资源,还带来了大量的服务耗时。而本技术则可以使用树结构来缓存同一服务下的api,优选的可以使用前缀树来进行实施,前缀树能够以服务名为根节点,二级节点为请求api方法类型,三级以及以下节点根据请求路径以路径分隔符“/”划分,根据顺序作为节点进行生成;在检索时利用字符串的公共前缀进行对比检索,降低检索时间,减少字符串比较,提高查询效率。
[0122]
在本技术实施例中,网关22通过api树的设置,避免了查询时遍历所有的api,节省了大量的内存资源的消耗,并且由于树的特性,在搜索,查找方面的高效性,也提升了api的查找效率。
[0123]
一种可能的实施方式,上述步骤103中的当检索到用户的服务配额,且服务配额的额度大于零,将请求信息发送至应用程序接口中,包括:
[0124]
根据用户的用户名和请求信息中请求的服务应用,从缓存中查询服务应用与用户
名对应的服务配额是否存在,同时查询服务配额是否大于零;
[0125]
当服务配额存在且大于零时,扣减服务配额的额度,将请求信息发送至应用程序接口中。
[0126]
例如,网关22根据请求消息1检索到用户需要请求服务应用为{服务应用b}、用户名为{用户名a},因此网关22从缓存的redis中获取服务配额信息,查询结果为用户a名下的服务应用b的服务配额的额度为5次,大于零。因此网关22扣减对应的服务配额为4次,并将请求消息1转发至api接口b中。
[0127]
在本技术实施例中,网关22还可以通过缓存获取用户的服务额度,从而完成计费扣费的工作,降低了人工需要,提高了工作效率。
[0128]
一种可能的实施方式,上述步骤103中的扣减服务配额的额度,包括:
[0129]
根据服务应用的开销扣减服务配额的额度,将扣减后的服务配额存入消息队列中,使服务应用通过消息队列同步消费后的服务配额。
[0130]
例如,为了保证数据的一致性和稳定性,在实际应用中我们能够设置一个最终数据库,而服务端23从最终数据库中获取用户消费数据和服务配额。而网关22则会根据服务应用的开销,扣减缓存中记录的用户的服务配额的额度,将原来的5次扣减为4次,然后将更新后的用户a的服务配额{用户a:服务应用b服务配额=4次},发送至队列中。最终数据库则从队列中读取服务配额的变更信息,并更新数据库中的服务配额为{用户a:服务应用b服务配额=4次}。
[0131]
在本技术实施例中,网关22将更新后的服务配额信息通过队列发送到服务端23中,从而保证了数据的一致性和稳定性,避免了数据错误的风险。
[0132]
基于同一发明构思,本技术还提供一种微服务系统,请参见图4,图4为本技术实施例提供的一种微服务系统的结构示意图,包括:
[0133]
客户端41,用于发送用户的请求信息;
[0134]
网关42,用于接收客户端发送的请求信息,并使用如上的权限认证方法中任一项的方法进行权限认证,并将认证通过的请求信息发送至应用程序接口中;
[0135]
服务器端43,用于通过应用程序接口中接收请求信息,并为用户提供相应的服务。
[0136]
基于同一发明构思,本技术还提供一种权限认证的系统,请参见图5,图5为本技术实施例提供的一种权限认证的系统的结构示意图,包括:
[0137]
请求信息验证单元51,用于接收用户发送的请求信息,根据请求信息验证用户是否为已注册的消费者,并验证请求信息中请求的服务应用是否能提供服务;
[0138]
服务应用调用单元52,用于当校验结果为用户是已注册的消费者且请求的服务应用能提供服务,根据请求信息在缓存中检索服务应用对应的应用程序接口和用户的服务配额;
[0139]
请求信息发送单元53,用于当检索到用户的服务配额,且服务配额的额度大于零,将请求信息发送至应用程序接口中。
[0140]
一种可能的实施方式,请求信息验证单元51用于:
[0141]
计算请求信息发送至应用程序接口时的时间偏差;
[0142]
当时间偏差大于预设时间偏差时,拒绝请求信息并返回对应的错误报告;
[0143]
当时间偏差小于等于预设时间偏差时,接收请求信息。
[0144]
一种可能的实施方式,请求信息验证单元51用于:
[0145]
从请求信息中提取用户的用户名、加密算法、加密值和验证值;
[0146]
根据用户名查询用户注册时约定的密钥;
[0147]
使用加密算法计算密钥和加密值对应的哈希值,对比验证值和哈希值,当验证值和哈希值一致时确定用户为已注册的消费者,否则确定用户不是已注册的消费者。
[0148]
一种可能的实施方式,请求信息验证单元51用于:
[0149]
从请求信息中提取用户请求的服务应用,从缓存或数据库中提取服务应用对应的服务实体信息;
[0150]
当缓存或数据库中提取到服务应用的服务实体信息,确定请求信息中请求的服务应用能提供服务;否则,确定请求信息中请求的服务应用不能提供服务。
[0151]
一种可能的实施方式,服务应用调用单元52用于:
[0152]
根据请求信息中用户请求的服务应用,在缓存中的应用程序接口树中进行查询,获取服务应用对应的应用程序接口;
[0153]
根据请求信息中的用户名,在缓存中的服务配额信息中查询用户名对应的服务配额。
[0154]
一种可能的实施方式,服务应用调用单元52用于:
[0155]
根据服务应用在缓存中查询对应的服务名称、请求方法和请求路径;
[0156]
根据服务名称,在应用程序接口树中查询根节点名称相同的根节点,根据请求方法在根节点所在的树中查询对应的二级节点,根据请求路径在二级节点的子节点中查询对应的子节点,将查询匹配到的应用程序接口树的子节点作为服务应用对应的应用程序接口。
[0157]
一种可能的实施方式,请求信息发送单元53用于:
[0158]
根据用户的用户名和请求信息中请求的服务应用,从缓存中查询服务应用与用户名对应的服务配额是否存在,同时查询服务配额是否大于零;
[0159]
当服务配额存在且大于零时,扣减服务配额的额度,将请求信息发送至应用程序接口中。
[0160]
一种可能的实施方式,请求信息发送单元53用于:
[0161]
根据服务应用的开销扣减服务配额的额度,将扣减后的服务配额存入消息队列中,使服务应用通过消息队列同步消费后的服务配额。
[0162]
基于同一发明构思,本发明一实施例提供一种权限认证的装置,包括:
[0163]
至少一个处理器,处理器用于执行存储器中存储的计算机程序时实现本技术实施例提供的如上的权限认证的步骤。
[0164]
可选的,处理器具体可以是中央处理器、特定应用集成电路(英文:application specific integrated circuit,简称:asic),可以是一个或多个用于控制程序执行的集成电路。
[0165]
可选的,该数据完整性保护的设备还包括与至少一个处理器连接的存储器,存储器可以包括只读存储器(英文:read only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)和磁盘存储器。存储器用于存储处理器运行时所需的数据,即存储有可被至少一个处理器执行的指令,至少一个处理器通过执行存储器存储的指
令,执行如上的图1所示的方法。其中,存储器的数量为一个或多个。
[0166]
本技术实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上的权限认证的方法的步骤。
[0167]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0168]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0169]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0170]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0171]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1