服务接口访问控制方法、装置、计算机设备和存储介质与流程

文档序号:34419513发布日期:2023-06-08 19:29阅读:49来源:国知局
服务接口访问控制方法、装置、计算机设备和存储介质与流程

本发明涉及接口访问控制处理,尤其涉及一种服务接口访问控制方法、装置、计算机设备和存储介质。


背景技术:

1、现有技术中,应用系统会集成多种类型的服务接口,不同服务接口依据其重要程度和敏感程度的差异,具有不同的访问权限。为了实现权限控制,会在服务接口上设置权限控制模块,当该服务接口接收到调用请求时,先进行权限验证,在满足权限要求时,再反馈调用结果。

2、发明人研究发现,针对不同服务接口分别设置权限控制,对于应用系统而言,资源消耗较大,因此,如何降低服务接口权限控制时的资源消耗,成为本领域技术人员亟需解决的技术问题。


技术实现思路

1、本发明的目的是提供一种服务接口访问控制方法、装置、计算机设备和存储介质,用于解决现有技术中的技术问题。

2、一方面,为实现上述目的,本发明提供了一种服务接口访问控制方法。

3、该服务接口访问控制方法包括:拦截接口调用方发送的接口调用请求;判断所述接口调用请求调用的目标接口是否属于需要访问授权的服务接口;当所述目标接口属于需要访问授权的服务接口时,获取所述接口调用请求携带的认证参数和签名字符串,其中,所述认证参数包括若干业务参数,所述签名字符串为所述接口调用方通过预设算法计算所述认证参数生成;通过所述预设算法计算所述认证参数生成验证字符串;判断所述签名字符串与所述验证字符串是否一致;以及当所述签名字符串与所述验证字符串一致时,转发所述接口调用请求至所述目标接口。

4、进一步地,通过所述预设算法计算所述认证参数生成验证字符串包括:将各个所述认证参数按照参数名称进行排序;将排序后的各个所述认证参数通过预设连接符连接,得到拼接字符串;在预存的秘钥集中获取所述接口调用方对应的秘钥;对所述拼接字符串按照所述秘钥进行加密,得到加密字符串;将所述加密字符串中的小写字母转换为大写字母,得到所述验证字符串。

5、进一步地,所述认证参数还包括接口调用方标识、时间戳和随机字符串,获取所述接口调用请求携带的认证参数和签名字符串的步骤包括:解析所述接口调用请求的请求头中携带的所述接口调用方标识、所述时间戳、所述随机字符串和所述签名字符串;以及获取所述接口调用请求的请求报文中的所述业务参数。

6、进一步地,获取所述接口调用请求的请求报文中的所述业务参数的步骤包括:当所述接口调用请求为以post方式调用时,读取requestbody,并将读取到的字符用utf-8编码转换成字符串,得到所述业务参数;当所述接口调用请求为以get方式调用时,读取requestparam的所有值非空的键值对,得到所述业务参数。

7、进一步地,当所述接口调用请求为以get方式调用时,读取requestparam的所有值非空的键值对,得到所述业务参数的步骤包括:读取requestparam的所有值非空的键值对;判断所述键值对中是否包含所述接口调用方标识或所述时间戳;若所述键值对中包含所述接口调用方标识时,删除所述键值对中的所述接口调用方标识,若所述键值对中包含所述时间戳,删除所述键值对中的所述时间戳,得到所述业务参数。

8、进一步地,在判断所述签名字符串与所述验证字符串是否一致的步骤之前,所述方法还包括:获取所述目标接口的当前时间;判断所述时间戳与所述目标接口的当前时间的时间差是否大于预设时间阈值;其中,当所述时间差小于或等于所述预设时间阈值时,执行判断所述签名字符串与所述验证字符串是否一致的步骤。

9、进一步地,所述方法还包括:当所述时间差大于预设时间阈值时,向所述接口调用方返回请求超时的信息。

10、另一方面,为实现上述目的,本发明提供了一种服务接口访问控制装置。

11、该服务接口访问控制装置包括:拦截模块,用于拦截接口调用方发送的接口调用请求;第一判断模块,用于判断所述接口调用请求调用的目标接口是否属于需要访问授权的服务接口;第一获取模块,用于当所述目标接口属于需要访问授权的服务接口时,获取所述接口调用请求携带的认证参数和签名字符串,其中,所述认证参数包括若干业务参数,所述签名字符串为所述接口调用方通过预设算法计算所述认证参数生成;计算模块,用于通过所述预设算法计算所述认证参数生成验证字符串;第二判断模块,用于判断所述签名字符串与所述验证字符串是否一致;以及转发模块,用于当所述签名字符串与所述验证字符串一致时,转发所述接口调用请求至所述目标接口。

12、为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。

13、为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

14、本发明提供的服务接口访问控制方法、装置、计算机设备和存储介质,在所有服务接口之前设置访问授权组件,在对服务接口进行调用时,拦截接口调用方发送的接口调用请求,先判断接口调用请求调用的目标接口是否属于需要访问授权的服务接口,如果属于,则获取接口调用请求携带的认证参数和签名字符串,在认证参数中设置若干业务参数,以使不同的接口调用通过相同的验证逻辑实现了权限验证,其中的签名字符串为接口调用方通过预设算法计算认证参数生成的,在进行权限认证时,访问授权组件通过相同的预设算法计算认证参数生成验证字符串,判断签名字符串与验证字符串是否一致,当一致时,转发所述接口调用请求至目标接口。通过本发明,实现基于横切面拦截的接口访问授权机制,从而能够在接口级别实现统一的访问权限控制,不再需要各个服务接口单独进行权限控制,节省权限控制的资源消耗。



技术特征:

1.一种服务接口访问控制方法,其特征在于,包括:

2.根据权利要求1所述的服务接口访问控制方法,其特征在于,通过所述预设算法计算所述认证参数生成验证字符串包括:

3.根据权利要求1所述的服务接口访问控制方法,其特征在于,所述认证参数还包括接口调用方标识、时间戳和随机字符串,获取所述接口调用请求携带的认证参数和签名字符串的步骤包括:

4.根据权利要求3所述的服务接口访问控制方法,其特征在于,获取所述接口调用请求的请求报文中的所述业务参数的步骤包括:

5.根据权利要求4所述的服务接口访问控制方法,其特征在于,当所述接口调用请求为以get方式调用时,读取requestparam的所有值非空的键值对,得到所述业务参数的步骤包括:

6.根据权利要求3所述的服务接口访问控制方法,其特征在于,在判断所述签名字符串与所述验证字符串是否一致的步骤之前,所述方法还包括:

7.根据权利要求6所述的服务接口访问控制方法,其特征在于,所述方法还包括:

8.一种服务接口访问控制装置,其特征在于,包括:

9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。


技术总结
本发明提供了一种服务接口访问控制方法、装置、计算机设备和存储介质。该方法包括:拦截接口调用方发送的接口调用请求;判断接口调用请求调用的目标接口是否属于需要访问授权的服务接口;当目标接口属于需要访问授权的服务接口时,获取接口调用请求携带的认证参数和签名字符串,其中,认证参数包括若干业务参数,签名字符串为接口调用方通过预设算法计算认证参数生成;通过预设算法计算认证参数生成验证字符串;判断签名字符串与验证字符串是否一致;以及当签名字符串与验证字符串一致时,转发接口调用请求至目标接口。通过本发明,利用基于横切面拦截的接口访问授权机制,实现接口级别的访问权限控制。

技术研发人员:陈仁森
受保护的技术使用者:易方达基金管理有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1