CN112733103A - 接口访问的控制方法和装置 - Google Patents

接口访问的控制方法和装置 Download PDF

Info

Publication number
CN112733103A
CN112733103A CN202110028986.3A CN202110028986A CN112733103A CN 112733103 A CN112733103 A CN 112733103A CN 202110028986 A CN202110028986 A CN 202110028986A CN 112733103 A CN112733103 A CN 112733103A
Authority
CN
China
Prior art keywords
interface
access request
user terminal
token
interface access
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.)
Pending
Application number
CN202110028986.3A
Other languages
English (en)
Inventor
王娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202110028986.3A priority Critical patent/CN112733103A/zh
Publication of CN112733103A publication Critical patent/CN112733103A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了接口访问的控制方法和装置,该方法包括:获取并加载接口控制列表;其中,接口控制列表中存储有至少一个接口的接口信息;接收用户终端的接口访问请求;其中,接口访问请求用于访问目标接口;对接口访问请求的合法性进行验证;若接口访问请求合法,则根据接口访问请求从接口控制列表中获取目标接口的接口信息,并根据接口信息访问目标接口;若接口访问请求不合法,则拒绝用户终端的当前访问。本方案能够通过对接口访问请求进行统一的合法性验证,以减少由于不合法的接口访问请求对接口进行调用所造成的资源浪费。

Description

接口访问的控制方法和装置
技术领域
本发明涉及计算机技术领域,特别涉及一种接口访问的控制方法和装置。
背景技术
在云环境中,系统中会有不同的业务模块,不同的业务模块中会有很多的服务,而接口作为服务的传递者显得尤为重要。资源和性能等都可以通过接口之间的服务调用的方式实现,通过调用不同模块对外提供的接口可以实现业务功能。
然而,随着业务的增多和复杂化,在调用业务的接口时,每个业务都需要和所访问的接口配置一套访问的实现方式,不仅会增大开发和维护的成本,而且在访问时会造成大量的接口资源。因此,需要提供一种接口访问的控制方案。
发明内容
本发明提供了接口访问的控制方法和装置,能够通过对接口访问请求进行统一的合法性验证,以减少由于不合法的接口访问请求对接口进行调用所造成的资源浪费。
第一方面,本发明实施例提供了一种接口访问的控制方法,该方法包括:
获取并加载接口控制列表;其中,所述接口控制列表中存储有至少一个接口的接口信息;
接收用户终端的接口访问请求;其中,所述接口访问请求用于访问目标接口;
对所述接口访问请求的合法性进行验证;
若所述接口访问请求合法,则根据所述接口访问请求从所述接口控制列表中获取所述目标接口的接口信息,并根据所述接口信息访问所述目标接口;
若所述接口访问请求不合法,则拒绝所述用户终端的当前访问。
在一种可能的实现方式中,所述对所述接口访问请求的合法性进行验证,包括:
对所述接口访问请求的令牌进行验证;
和/或,
对所述接口访问请求的接口有效性进行验证。
在一种可能的实现方式中,所述对所述接口访问请求的令牌进行验证,包括:
步骤S1:判断所述接口访问请求中是否包含令牌;若是,则执行步骤S2;否则,向所述用户终端返回令牌不存在的提示;
步骤S2:根据所述令牌所包含的信息,判断该令牌所对应的账户信息是否存在;若是,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
步骤S3:判断所述令牌是否超时;若是,则向所述用户终端返回令牌无效的提示;否则根据所述接口访问请求访问所述目标接口。
在一种可能的实现方式中,所述对所述接口访问请求的接口有效性进行验证,包括:
步骤S4:判断所述接口访问请求所要访问的目标接口是否存在;若是,则执行步骤S5;否则,向所述用户终端返回接口不存在的提示;
步骤S5:判断所述用户终端是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,执行步骤S6;
步骤S6:判断所述用户终端的用户角色是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,向所述用户终端返回无访问权限的提示;
步骤S7:根据所述接口访问请求访问所述目标接口。
在一种可能的实现方式中,在所述接收用户终端的接口访问请求之后,所述对所述接口访问请求的合法性进行验证之前,进一步包括:
判断所述接口访问请求所要访问的目标接口是否在预先存储的免验证接口表中;
若是,则根据所述接口访问请求访问所述目标接口;否则,对所述接口访问请求的合法性进行验证。
第二方面,本发明实施例还提供了一种接口访问的控制装置,该装置包括:获取模块、接收模块、验证和执行模块;
所述获取模块,用于获取并加载接口控制列表;其中,所述接口控制列表中存储有至少一个接口的接口信息;
所述接收模块,用于接收用户终端的接口访问请求;其中,所述接口访问请求用于访问目标接口;
所述验证和执行模块,用于对所述接收模块接收到的所述接口访问请求的合法性进行验证;以及在确定所述接口访问请求合法时,根据所述接口访问请求从所述获取模块获取到的所述接口控制列表中获取所述目标接口的接口信息,并根据所述接口信息访问所述目标接口;在所述接口访问请求不合法时,拒绝所述用户终端的当前访问。
在一种可能的实现方式中,所述验证和执行模块,用于执行如下操作:
对所述接口访问请求的令牌进行验证;
和/或,
对所述接口访问请求的接口有效性进行验证。
在一种可能的实现方式中,所述验证和执行模块,用于执行如下操作:
步骤S1:判断所述接口访问请求中是否包含令牌;若是,则执行步骤S2;否则,向所述用户终端返回令牌不存在的提示;
步骤S2:根据所述令牌所包含的信息,判断该令牌所对应的账户信息是否存在;若是,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
步骤S3:判断所述令牌是否超时;若是,则向所述用户终端返回令牌无效的提示;否则根据所述接口访问请求访问所述目标接口。
在一种可能的实现方式中,所述验证和执行模块,用于执行如下操作:
步骤S4:判断所述接口访问请求所要访问的目标接口是否存在;若是,则执行步骤S5;否则,向所述用户终端返回接口不存在的提示;
步骤S5:判断所述用户终端是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,执行步骤S6;
步骤S6:判断所述用户终端的用户角色是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,向所述用户终端返回无访问权限的提示;
步骤S7:根据所述接口访问请求访问所述目标接口。
在一种可能的实现方式中,所述验证和执行模块,还用于执行如下操作:
判断所述接口访问请求所要访问的目标接口是否在预先存储的免验证接口表中;
若是,则根据所述接口访问请求访问所述目标接口;否则,对所述接口访问请求的合法性进行验证。
由上述技术方案可知,在进行接口访问请求的控制时,可以首先获取和加载存储有接口信息的接口控制列表,然后在接收到用户终端的接口访问请求时,对该接口访问请求的合法性进行验证。如果该接口访问请求是合法的,则可以根据该接口访问请求从接口控制列表中获取到所要访问的接口的接口信息,从而可以根据该接口信息访问到目标接口。如果该访问请求是不合法的,则拒绝用户终端的当前访问。由此可见,本方案通过对所有的接口访问请求进行统一的合法性验证,并在验证合法时可以根据存储的接口信息准确连接到相应的接口,如此通过统一对接口访问请求进行验证,避免了每一个接口访问请求都对接口进行调用,从而可以减少由于不合法的接口访问请求对接口进行调用时所造成的的资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种接口访问的控制方法的流程图;
图2是本发明一个实施例提供的一种接口访问的控制装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如上,在云环境中,系统中会有不同的业务模块,不同的业务模块中会有很多的服务,而接口作为服务的传递者显得尤为重要。不论是资源、性能等都可以通过接口之间服务调用的方式实现,通过调用不同模块对外提供的接口实现业务功能。可是随着业务的增多,业务越来越复杂,调用业务的接口时,每个业务都会需要鉴权、限流、权限校验等逻辑处理,如果每个业务都各自有一套对接口访问的实现方式,这样就相当于重复造轮子的过程,不管是从开发还是从维护的过程来讲,这都是耗费很大的事情。因此,本方案考虑采用对所有的客户端的所有请求进行统一鉴权、请求校验及权限校验,并将访问请求路由到合适的接口。具体地,如图1所示,本发明实施例提供了一种接口访问的控制方法,该方法可以包括如下步骤:
步骤101:获取并加载接口控制列表;其中,接口控制列表中存储有至少一个接口的接口信息;
步骤102:接收用户终端的接口访问请求;其中,接口访问请求用于访问目标接口;
步骤103:对接口访问请求的合法性进行验证;
步骤104:若接口访问请求合法,则根据接口访问请求从接口控制列表中获取目标接口的接口信息,并根据接口信息访问目标接口;
步骤105:若接口访问请求不合法,则拒绝用户终端的当前访问。
在本发明实施例中,在进行接口访问请求的控制时,可以首先获取和加载存储有接口信息的接口控制列表,然后在接收到用户终端的接口访问请求时,对该接口访问请求的合法性进行验证。如果该接口访问请求是合法的,则可以根据该接口访问请求从接口控制列表中获取到所要访问的接口的接口信息,从而可以根据该接口信息访问到目标接口。如果该访问请求是不合法的,则拒绝用户终端的当前访问。由此可见,本方案通过对所有的接口访问请求进行统一的合法性验证,并在验证合法时可以根据存储的接口信息准确连接到相应的接口,如此通过统一对接口访问请求进行验证,避免了每一个接口访问请求都对接口进行调用,从而可以减少由于不合法的接口访问请求对接口进行调用时所造成的的资源浪费。
在一种可能的实现方式中,在对接口访问请求的合法性进行验证时,具体可以通过如下方面进行验证:
对接口访问请求的令牌进行验证;
和/或,
对接口访问请求的接口有效性进行验证。
在本发明实施例中,在对接口的访问请求进行验证时,可以对接口访问请求的令牌和接口有效性中的一个或多个进行验证。通过对令牌的参数进行灵活配置,可以对恶意的请求进行限制,保证接口的安全性,使接口的服务性能最佳。而通过对接口的有效性进行验证,能够避免由于访问的接口不存在以及用户终端没有访问权限等不合法因素导致的接口调用时的资源浪费。
在一种可能的实现方式中,在对接口访问请求的令牌进行验证时,具体可以通过如下步骤实现:
步骤S1:判断接口访问请求中是否包含令牌;若是,则执行步骤S2;否则,向用户终端返回令牌不存在的提示;
步骤S2:根据令牌所包含的信息,判断该令牌所对应的账户信息是否存在;若是,则执行步骤S3;否则,向用户终端返回没有登录的提示;
步骤S3:判断令牌是否超时;若是,则向用户终端返回令牌无效的提示;否则根据接口访问请求访问目标接口。
在本发明实施例中,在对接口访问请求的令牌进行验证时,可以先对接口访问请求是否包含令牌进行验证,然后判断该令牌对应的账户信息是否存在,最后在对令牌是否在时效期内进行判断。如此对令牌进行层层验证,能够保证接口的安全性,而且通过设定令牌参数,可以有效地对恶意访问请求进行限制。
在一种可能的实现方式中,在对接口访问请求的接口有效性进行验证时,具体还可以通过以下方式来实现:
步骤S4:判断接口访问请求所要访问的目标接口是否存在;若是,则执行步骤S5;否则,向用户终端返回接口不存在的提示;
步骤S5:判断用户终端是否具有访问目标接口的权限;若是,则执行步骤S7;否则,执行步骤S6;
步骤S6:判断用户终端的用户角色是否具有访问目标接口的权限;若是,则执行步骤S7;否则,向用户终端返回无访问权限的提示;
步骤S7:根据接口访问请求访问目标接口。
在本发明实施例中,实现了对接口的有效性的验证,即通过判断所访问的接口是否存在、是否有访问该接口的权限、以及该用户端的用户角色是否具有访问该接口的权限,从而决定是否可以访问该接口。由此可见,通过用户及角色两方面定义接口的访问权限,也就是将哪些用户可以访问此接口及哪些角色可以访问某接口进行管理。用户、角色和接口的访问关系可以是多对多的关系,可以灵活的管理用户可以访问的接口。
在一种可能的实现方式中,在接收用户终端的接口访问请求之后,且在对接口访问请求的合法性进行验证之前,该接口访问的控制方法还可以进一步包括:
判断接口访问请求所要访问的目标接口是否在预先存储的免验证接口表中;
若是,则根据接口访问请求访问目标接口;否则,对接口访问请求的合法性进行验证。
在本发明实施例中,根据具体的应用环境,可以设置一些公开接口,即不需要进行合法性验证即可进行访问的接口,比如对于一些共用接口或不存在安全隐患的接口,频繁的进行接口合法性验证,对于共用接口或不存在安全隐患的接口来说不仅必要性不强,反而会占用占用大量的资源。因此,本方案采取设置免验证接口的方式有助于进一步节省资源,提高系统的执行效率。
下面对本发明实施例提供的一种接口访问请求的控制方法作进一步详细的说明,具体地可以有:
1、对接口进行注册
通过管理接口的接口名称、接口的统一资源定位符URL、服务器的IP地址、服务端端口以及调用方式等信息对接口进行统一的管理。即通过上述信息构建接口的控制列表。此外,接口注册时可以对接口进行分组,将相关的接口定义为一个组,如此便于查找管理,也可以通过导入的方式一次性导入需要管理的接口。
2、接口访问的合法性验证
在接口注册完成之后,需要定义接口的访问权限,通过用户及角色两方面定义接口的访问权限,也就是将哪些用户可以访问此接口及哪些角色可以访问某接口进行管理。用户、角色和接口的访问关系可以是多对多的关系,比如一个用户可以同时具有多个角色,一个角色可以包括多个用户等。如此可灵活的管理用户可以访问的接口。此外还可以设置不需要进行任何接口合法性验证的接口,也就是任何情况下都可以访问的接口。
具体地,在对接口访问的合法性进行验证时,可以对所有的接口访问请求统一拦截进行处理,具体可以包括如下方式:
2.1请求接口是否需要合法性验证的判断
在本步骤中,可以判断所请求访问的接口是否在不需要进行验证的接口列表中,即判断所访问的接口是否在预先存储的免验证接口表中。如果在列表中,则路由至访问的接口,由用户终端实现对该接口的访问,否则可进行合法性验证。
2.2判断访问请求的请求头中是否存在令牌token
在本步骤中,考虑判断请求头中是否含有令牌token,如果token长度为空或者长度为0,则给发送该接口访问请求的用户终端返回token不存在的错误信息;如果token存在并且长度不为0,则可进行下一步验证。
2.3判断令牌token是否有效
在本步骤中,考虑根据token从数据库中查询登录的用户的账号信息,如果用户账号信息不存在,则返回token无效,用户没有登录的错误信息;如果用户账号信息存在,则可以进行下一步验证。
2.4判断token是否超时
在本步骤中,根据token从数据库查询token的生成时间,与当前时间进行比较,如果超过设置的token超时时间,则返回token已过期,请重新登录的错误信息;如果没有超过设置的token超时时间,则可以进行下一步验证。
需要指出的是,在token超时判断时,可以使用用户名、密码及时间计算出token,并存入数据库,并且可以设置定时任务,根据超时时间清理过期的token。在对token进行灵活配置时,还可以配置某接口每秒被调用的次数,每客户端IP每秒的请求次数等配置项,对恶意的请求进行限制,以便保障接口访问的安全性,使接口的服务性能最佳。
2.5判断所访问的接口是否存在
在本步骤中,根据接口访问的主机地址、端口以及统一资源定位符URL从接口访问列表中查询是否存在要访问的接口,如果不存在,则返回要访问的接口不正确或者URL没有按照规则定义的错误;如果存在,则可以进行下一步验证。
2.6判断用户是否有权限访问该接口
在本步骤中,根据用户账户ID及接口ID从数据库接口权限表中判断该用户是否有权限访问该接口,如果该用户可以访问该接口,则路由至所要访问的接口;如果该用户不能访问该接口,则可进行下一步验证。
2.7判断用户所拥有的角色是否有权限访问该接口
在本步骤中,如果该用户不能访问该接口,则查找出该用户所拥有的角色,根据用户角色ID,接口ID及授权类型(用户角色的分类)去查找该角色是否有权限访问该接口。如果查找到该角色有权限,还可以进一步查找此角色中是否排除此用户,如果未排除此用户,说明该用户终端可以访问该接口,则可以路由至所要访问的接口;如果角色排除此用户,则返回没有访问该接口权限的错误。
由此可见,本发明实施例提供的接口访问的控制方案,首先,实现了对接口进行统一管理,通过标准的定义来定义和维护接口,通过接口统一管理有效的提供了接口层的灵活性和可管理性。其次,对所有的请求都会进行统一的参数校验,无效的请求访问会被直接返回而拒绝访问,如此不仅避免了不同业务端进行重复鉴权的问题,而且减少了无效请求对接口调用造成的资源浪费。因此,能够减少重复开发工作量及运维工作量,大大降低了后端服务的处理成本。
在进行接口访问的控制过程中,还可以对客户端访问的请求进行统一的日志记录,该日志记录可以包括两种记录方式:文件记录及数据库记录。文件记录可以为默认的记录方式,对于所有的请求(不管请求成功还是失败)都会进行记录;数据库记录提供了一个可以配置的项,支持全记录及失败记录两种类型。还提供了按照接口名称查询访问日志的汇总列表及按照接口名称、用户访问接口的报表等。如此利用详细的日志记录可以为问题及故障的排查提供有利的保障,对接口调用的分析也提供了有利的支撑。
此外,还可以提供对接口的监控,可以对接口的状态等进行监控,通过专门的监控页面进行查看。主要包括监控接口服务的健康性,监控接口的可用性,接口的访问压力情况,每个IP地址发布的接口数量,以及接口调用总次数、调用接口的成功数量、接口失败数量及平均延时等,记录监控日志,并且生成监控列表。如此通过提供接口监控,监控接口服务器是否运行正常,监控接口的压力,并且根据情况生成警报信息及监控报表等,方便接口调用过程中发生异常反馈和问题溯源,给问题排查及运维带来了有利的依据和可靠的保障。
如图2所示,本发明实施例提供了一种接口访问的控制装置,包括:获取模块201、接收模块202、验证和执行模块203;
获取模块201,用于获取并加载接口控制列表;其中,接口控制列表中存储有至少一个接口的接口信息;
接收模块202,用于接收用户终端的接口访问请求;其中,接口访问请求用于访问目标接口;
验证和执行模块203,用于对接收模块202接收到的接口访问请求的合法性进行验证;以及在确定接口访问请求合法时,根据接口访问请求从获取模块201获取到的接口控制列表中获取目标接口的接口信息,并根据接口信息访问目标接口;在接口访问请求不合法时,拒绝用户终端的当前访问。
在一种可能的实现方式中,验证和执行模块203,用于执行如下操作:
对接口访问请求的令牌进行验证;
和/或,
对接口访问请求的接口有效性进行验证。
在一种可能的实现方式中,验证和执行模块203,用于执行如下操作:
步骤S1:判断接口访问请求中是否包含令牌;若是,则执行步骤S2;否则,向用户终端返回令牌不存在的提示;
步骤S2:根据令牌所包含的信息,判断该令牌所对应的账户信息是否存在;若是,则执行步骤S3;否则,向用户终端返回没有登录的提示;
步骤S3:判断令牌是否超时;若是,则向用户终端返回令牌无效的提示;否则根据接口访问请求访问目标接口。
在一种可能的实现方式中,验证和执行模块203,用于执行如下操作:
步骤S4:判断接口访问请求所要访问的目标接口是否存在;若是,则执行步骤S5;否则,向用户终端返回接口不存在的提示;
步骤S5:判断用户终端是否具有访问目标接口的权限;若是,则执行步骤S7;否则,执行步骤S6;
步骤S6:判断用户终端的用户角色是否具有访问目标接口的权限;若是,则执行步骤S7;否则,向用户终端返回无访问权限的提示;
步骤S7:根据接口访问请求访问目标接口。
在一种可能的实现方式中,验证和执行模块203,还用于执行如下操作:
判断接口访问请求所要访问的目标接口是否在预先存储的免验证接口表中;
若是,则根据接口访问请求访问目标接口;否则,对接口访问请求的合法性进行验证。
本发明一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本发明一个实施例提供了一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对接口访问的控制装置的具体限定。在说明书的另一些实施例中,接口访问的控制装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.接口访问的控制方法,其特征在于,包括:
获取并加载接口控制列表;其中,所述接口控制列表中存储有至少一个接口的接口信息;
接收用户终端的接口访问请求;其中,所述接口访问请求用于访问目标接口;
对所述接口访问请求的合法性进行验证;
若所述接口访问请求合法,则根据所述接口访问请求从所述接口控制列表中获取所述目标接口的接口信息,并根据所述接口信息访问所述目标接口;
若所述接口访问请求不合法,则拒绝所述用户终端的当前访问。
2.根据权利要求1所述的方法,其特征在于,所述对所述接口访问请求的合法性进行验证,包括:
对所述接口访问请求的令牌进行验证;
和/或,
对所述接口访问请求的接口有效性进行验证。
3.根据权利要求2所述的方法,其特征在于,所述对所述接口访问请求的令牌进行验证,包括:
步骤S1:判断所述接口访问请求中是否包含令牌;若是,则执行步骤S2;否则,向所述用户终端返回令牌不存在的提示;
步骤S2:根据所述令牌所包含的信息,判断该令牌所对应的账户信息是否存在;若是,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
步骤S3:判断所述令牌是否超时;若是,则向所述用户终端返回令牌无效的提示;否则根据所述接口访问请求访问所述目标接口。
4.根据权利要求2所述的方法,其特征在于,所述对所述接口访问请求的接口有效性进行验证,包括:
步骤S4:判断所述接口访问请求所要访问的目标接口是否存在;若是,则执行步骤S5;否则,向所述用户终端返回接口不存在的提示;
步骤S5:判断所述用户终端是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,执行步骤S6;
步骤S6:判断所述用户终端的用户角色是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,向所述用户终端返回无访问权限的提示;
步骤S7:根据所述接口访问请求访问所述目标接口。
5.根据权利要求1至4中任一所述的方法,其特征在于,在所述接收用户终端的接口访问请求之后,所述对所述接口访问请求的合法性进行验证之前,进一步包括:
判断所述接口访问请求所要访问的目标接口是否在预先存储的免验证接口表中;
若是,则根据所述接口访问请求访问所述目标接口;否则,对所述接口访问请求的合法性进行验证。
6.接口访问的控制装置,其特征在于,包括:获取模块、接收模块、验证模块和执行模块;
所述获取模块,用于获取并加载接口控制列表;其中,所述接口控制列表中存储有至少一个接口的接口信息;
所述接收模块,用于接收用户终端的接口访问请求;其中,所述接口访问请求用于访问目标接口;
所述验证和执行模块,用于对所述接收模块接收到的所述接口访问请求的合法性进行验证;以及在确定所述接口访问请求合法时,根据所述接口访问请求从所述获取模块获取到的所述接口控制列表中获取所述目标接口的接口信息,并根据所述接口信息访问所述目标接口;在所述接口访问请求不合法时,拒绝所述用户终端的当前访问。
7.根据权利要求6所述的装置,其特征在于,
所述验证和执行模块,用于执行如下操作:
对所述接口访问请求的令牌进行验证;
和/或,
对所述接口访问请求的接口有效性进行验证。
8.根据权利要求7所述的装置,其特征在于,
所述验证和执行模块,用于执行如下操作:
步骤S1:判断所述接口访问请求中是否包含令牌;若是,则执行步骤S2;否则,向所述用户终端返回令牌不存在的提示;
步骤S2:根据所述令牌所包含的信息,判断该令牌所对应的账户信息是否存在;若是,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
步骤S3:判断所述令牌是否超时;若是,则向所述用户终端返回令牌无效的提示;否则根据所述接口访问请求访问所述目标接口。
9.根据权利要求7所述的装置,其特征在于,
所述验证和执行模块,用于执行如下操作:
步骤S4:判断所述接口访问请求所要访问的目标接口是否存在;若是,则执行步骤S5;否则,向所述用户终端返回接口不存在的提示;
步骤S5:判断所述用户终端是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,执行步骤S6;
步骤S6:判断所述用户终端的用户角色是否具有访问所述目标接口的权限;若是,则执行步骤S7;否则,向所述用户终端返回无访问权限的提示;
步骤S7:根据所述接口访问请求访问所述目标接口。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述验证和执行模块,还用于执行如下操作:
判断所述接口访问请求所要访问的目标接口是否在预先存储的免验证接口表中;
若是,则根据所述接口访问请求访问所述目标接口;否则,对所述接口访问请求的合法性进行验证。
CN202110028986.3A 2021-01-11 2021-01-11 接口访问的控制方法和装置 Pending CN112733103A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110028986.3A CN112733103A (zh) 2021-01-11 2021-01-11 接口访问的控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110028986.3A CN112733103A (zh) 2021-01-11 2021-01-11 接口访问的控制方法和装置

Publications (1)

Publication Number Publication Date
CN112733103A true CN112733103A (zh) 2021-04-30

Family

ID=75590082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110028986.3A Pending CN112733103A (zh) 2021-01-11 2021-01-11 接口访问的控制方法和装置

Country Status (1)

Country Link
CN (1) CN112733103A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315637A (zh) * 2021-05-31 2021-08-27 中国农业银行股份有限公司 安全认证方法、装置及存储介质
CN113596124A (zh) * 2021-07-20 2021-11-02 四川虹美智能科技有限公司 智能设备的控制系统和方法
CN114721845A (zh) * 2022-04-14 2022-07-08 广州有信科技有限公司 一种多租户RestfulAPI接口管理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301331A (zh) * 2014-10-31 2015-01-21 北京思特奇信息技术股份有限公司 一种服务接口权限验证方法及装置
CN107465650A (zh) * 2016-06-06 2017-12-12 阿里巴巴集团控股有限公司 一种访问控制方法及装置
CN108471432A (zh) * 2018-07-11 2018-08-31 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN110069941A (zh) * 2019-03-15 2019-07-30 深圳市买买提信息科技有限公司 一种接口访问鉴权方法、装置及计算机可读介质
CN110839087A (zh) * 2020-01-13 2020-02-25 北京懿医云科技有限公司 接口调用方法及装置、电子设备和计算机可读存储介质
CN111600864A (zh) * 2020-05-11 2020-08-28 杭州安恒信息技术股份有限公司 基于令牌认证多维度校验访问服务接口的方法和装置
CN112149109A (zh) * 2020-09-21 2020-12-29 珠海市卓轩科技有限公司 模块化权限控制管理方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301331A (zh) * 2014-10-31 2015-01-21 北京思特奇信息技术股份有限公司 一种服务接口权限验证方法及装置
CN107465650A (zh) * 2016-06-06 2017-12-12 阿里巴巴集团控股有限公司 一种访问控制方法及装置
CN108471432A (zh) * 2018-07-11 2018-08-31 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN110069941A (zh) * 2019-03-15 2019-07-30 深圳市买买提信息科技有限公司 一种接口访问鉴权方法、装置及计算机可读介质
CN110839087A (zh) * 2020-01-13 2020-02-25 北京懿医云科技有限公司 接口调用方法及装置、电子设备和计算机可读存储介质
CN111600864A (zh) * 2020-05-11 2020-08-28 杭州安恒信息技术股份有限公司 基于令牌认证多维度校验访问服务接口的方法和装置
CN112149109A (zh) * 2020-09-21 2020-12-29 珠海市卓轩科技有限公司 模块化权限控制管理方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315637A (zh) * 2021-05-31 2021-08-27 中国农业银行股份有限公司 安全认证方法、装置及存储介质
CN113315637B (zh) * 2021-05-31 2023-07-04 中国农业银行股份有限公司 安全认证方法、装置及存储介质
CN113596124A (zh) * 2021-07-20 2021-11-02 四川虹美智能科技有限公司 智能设备的控制系统和方法
CN114721845A (zh) * 2022-04-14 2022-07-08 广州有信科技有限公司 一种多租户RestfulAPI接口管理方法及装置

Similar Documents

Publication Publication Date Title
CN112733103A (zh) 接口访问的控制方法和装置
CN112866379B (zh) 微服务的访问方法和装置
US9614855B2 (en) System and method for implementing a secure web application entitlement service
CN111490981B (zh) 访问管理方法、装置、堡垒机及可读存储介质
US7552470B2 (en) Generic security infrastructure for COM based systems
US8856892B2 (en) Interactive authentication
CN110909379B (zh) 一种存储集群的权限确定方法、装置、设备及存储介质
US8973113B1 (en) Systems and methods for automatically resetting a password
US20180255089A1 (en) Determining Security Vulnerabilities in Application Programming Interfaces
CN111698250A (zh) 访问请求处理方法、装置、电子设备及计算机存储介质
CN108632241B (zh) 一种多应用系统统一登录方法和装置
CN110933092A (zh) 一种基于jwt的单点登录实现方法及装置
CN115701019A (zh) 零信任网络的访问请求处理方法、装置及电子设备
CN116319024B (zh) 零信任系统的访问控制方法、装置及零信任系统
CN111737232A (zh) 数据库管理方法、系统、装置、设备及计算机存储介质
CN114969707A (zh) 一种单点登录方法、装置、设备及介质
CN116015824A (zh) 一种平台统一认证方法、设备、介质
CN112347436A (zh) 一种安全资源池内安全组件的权限管理方法及相关组件
CN113922975A (zh) 一种安全控制方法、服务器、终端、系统和存储介质
CN110740122A (zh) 一种提高数据仓库安全性的方法、装置
CN107172082B (zh) 一种文件共享方法及系统
CN114915500A (zh) 基于pc桌面客户端的自媒体账号管理方法及装置
CN115859253A (zh) 一种业务访问控制方法、装置、设备及介质
CN116996238A (zh) 一种网络异常访问的处理方法以及相关装置
CN114386047A (zh) 应用漏洞检测方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210430