一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口访问控制方法、装置、电子设备及存储介质与流程

2022-05-21 05:00:48 来源:中国专利 TAG:


1.本公开涉及接口访问技术领域,具体而言,涉及一种接口访问控制方法、接口访问控制装置、电子设备及计算机可读存储介质。


背景技术:

2.随着科技的不断发展,需要提高系统的安全性,为了保证系统的安全性,需要在用户访问目标资源(如视频资源)时进行拦截,以确认用户是否具有针对该目标资源的访问权限。
3.然而,相关技术中,对用户进行权限校验过程通常是在服务端进行的,且需要将目标接口访问请求的访问权限判断方法对应的代码添加到目标方法对应的代码中,进而降低了执行目标接口访问请求的效率。此外,为了实现权限的校验,服务端通常还需要存储较多的用户角色以及相关的资源信息,导致服务器的存储压力较大。


技术实现要素:

4.本公开实施例至少提供一种接口访问控制方法、接口访问控制装置、电子设备及计算机可读存储介质。
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.图1示出了本公开实施例所提供的一种接口访问控制方法的流程图;
61.图2示出了本公开实施例所提供的一种a用户的资源分配的界面示意图;
62.图3示出了本公开实施例所提供的一种b用户的资源分配的界面示意图;
63.图4示出了本公开实施例所提供的一种拦截目标接口访问请求的方法流程图;
64.图5示出了本公开实施例所提供的一种对服务器的访问操作进行控制的方法流程图;
65.图6示出了本公开实施例所提供的一种c用户的资源分配的界面示意图;
66.图7示出了本公开实施例所提供的一种a用户访问资源数据的界面示意图;
67.图8示出了本公开实施例所提供的一种b用户访问资源数据的界面示意图;
68.图9示出了本公开实施例所提供的一种c用户访问资源数据的界面示意图;
69.图10示出了本公开实施例所提供的另一种对服务器的访问操作进行控制的方法流程图;
70.图11示出了本公开实施例所提供的一种接口访问控制装置的结构示意图;
71.图12示出了本公开实施例所提供的另一种接口访问控制装置的结构示意图;
72.图13示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
73.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
74.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
75.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a
和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
76.相关技术中,对用户进行权限校验过程通常是在服务端进行的,需要将目标接口访问请求的访问权限判断方法对应的代码添加到目标方法对应的代码中,进而降低了执行目标接口访问请求的效率。此外,为了实现权限的校验,服务端通常还需要存储较多的用户角色以及相关的资源信息,导致服务器的存储压力较大。
77.针对上述问题,本公开实施例提供了一种接口访问控制方法,包括:在目标接口对应的目标方法中定义资源注解,所述资源注解包含所请求的目标资源在所述目标方法的访问请求中所在的字段;拦截发送到服务器的目标接口访问请求,其中,所述服务器用于调用并执行所述目标方法以获取所述目标资源;基于所述资源注解,对所述目标接口访问请求进行参数解析,得到解析结果,所述解析结果中包含用户信息以及所请求的所述目标资源;基于所述用户信息以及所述目标资源,对所述服务器的访问操作进行控制,其中,所述访问操作通过调用并执行所述目标方法实现。
78.本公开实施例中,对发送到服务器的目标接口访问请求进行拦截,并基于所述用户信息以及所述目标资源,对所述服务器的访问操作进行控制,也即,在除服务器之外的其他电子设备(如客户端)对目标接口访问请求的权限进行校验,如此,避免了在服务器中存储用户角色信息以及相关资源信息,降低了服务器的存储压力。另外,还可以将访问权限判断方法对应的代码与目标方法对应的代码进行隔离,如此,可以提升服务器执行目标方法的效率。
79.因此,本公开实施例所提供的接口访问控制方法的执行主体一般为具有一定计算能力的电子设备或其他处理设备,该电子设备例如可以为终端设备,终端设备可以为手机终端、个人电脑、车载设备、可穿戴设备等。在一些可能的实现方式中,该接口访问控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
80.下面对本公开实施例提供的接口访问控制方法加以说明。
81.参见图1所示,为本公开实施例提供的一种接口访问控制方法的流程图,所述方法包括以下s101~s104:
82.s101,在目标接口对应的目标方法中定义资源注解,所述资源注解包含所请求的目标资源在所述目标方法的访问请求中所在的字段。
83.示例性地,目标接口可以是api(application programming interface,应用程序接口)。该api是一组定义、程序及协议的集合,通过该api可以实现计算机软件之间的相互通信。目标方法,指的是与目标接口访问请求对应的目标接口中的核心方法,具体用于响应目标接口访问请求,生成与目标接口访问请求对应的功能。
84.其中,资源注解包含所请求的目标资源在目标方法的访问请求中所在的字段。在一些实施方式中,该注解可以是@resourcepermission。目标资源是指用户需要访问的资源,其中,该资源可以是视频源,也可以是任务或者告警数据等,此处不作限定。
85.s102,拦截发送到服务器的目标接口访问请求,其中,所述服务器用于调用并执行所述目标方法以获取所述目标资源。
86.其中,目标接口访问请求是指由客户端发出的指向目标接口的应用访问请求。可
以理解,该客户端可以是移动终端设备(比如:手机、电脑等),且该客户端可以和服务器进行通信,将应用访问请求发送至服务器上的应用程序中。具体地,该服务器用于调用并执行目标方法以获取目标资源。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、大数据和人工智能平台等基础云计算服务的云服务器。
87.s103,基于所述资源注解,对所述目标接口访问请求进行参数解析,得到解析结果,所述解析结果中包含用户信息以及所请求的所述目标资源。
88.在拦截到发送至服务器的目标接口访问请求之后,可以基于资源注解,对所述目标接口访问请求进行参数解析,得到解析结果。其中,所述解析结果中包含用户信息以及所请求的目标资源。
89.具体地,由于资源注解指定了所请求的目标资源在所述目标方法的访问请求中所在的字段,因此,在拦截到发送至服务器的目标接口访问请求之后,即可基于该资源注解获取该目标接口访问请求的请求参数中目标资源的字段,然后对目标字段进行参数解析,得到解析结果。
90.可以理解,由于不同的接口访问请求的请求参数是不同的,但是相同的是会请求相同的目标资源,因此,可以在资源注解中通过表达式语言指明目标资源是在请求参数中的哪个字段上面。
91.示例性地,用户信息可以包括用户姓名、用户账号、用户所属部门、用户角色中的至少一种。其中,用户角色包括超级管理员、普通管理员以及普通用户,不同的角色所具有的资源访问权限不同。例如,超级管理员可以对所有资源进行查看以及分配,普通管理员只可以查看超级管理员所分配的资源,并且可以将超级管理员所分配的资源分配给普通用户,而普通用户只可以查看被分配的资源。也即,超级管理员的访问权限大于普通管理员,普通管理员的访问权限大于普通用户。
92.需要说明的是,超级管理员的用户账号、用户所属部门以及用户角色是系统默认存在的,而不是预先进行设置的。超级管理员成功登录用户账号后,可以对用户所属部门进行更改。
93.普通管理员以及普通用户的用户账号、用户所属部门以及用户角色是超级管理员根据用户姓名对用户账号进行实名注册,并为该用户设置用户所属部门以及用户角色。
94.超级管理员、普通管理员以及普通用户首次登录用户账号时,均通过默认密码进行登录,登录成功后,可以更改用户账号的默认密码,以提升用户账号使用的安全性。
95.s104,基于所述用户信息以及所述目标资源,对所述服务器的访问操作进行控制,其中,所述访问操作通过调用并执行所述目标方法实现。
96.在得到解析结果后,可以根据解析结果中的用户信息以及目标资源,对服务器的访问操作进行控制,其中,所述访问操作通过调用并执行所述目标方法实现。
97.在一种可能的实施方式中,获取当前用户信息所对应的资源列表,通过将该资源列表中的资源以及目标资源进行比对得到匹配结果,并基于匹配结果判断该资源列表中是否存在目标资源,若该资源列表中存在目标资源,则说明用户具有访问权限,该用户可以进行访问;若该资源列表中不存在目标资源,则该用户不具有访问权限,也即该用户不可以对该目标资源进行访问。
98.需要说明的是,本实施方式中,具有相同角色的用户的资源权限也可能不同,也即,可以根据不同的用户需求,为相同角色的不同用户配置不同资源,进而针对不同用户形成不同的资源列表。因此,本实施方式中,是基于资源对用户的访问权限进行控制,而非基于用户角色对用户权限进行控制,如此,可以避免因设置过多角色而导致的角色冗余问题。
99.示例性地,如图2所示,用户姓名为张三,用户角色为普通管理员,分配视频源为“yy测试”14路视频源以及“xx测试”29路视频源。如图3所示,用户姓名为李四,用户角色为普通管理员,分配视频源为“qq测试”70路视频源以及“hh测试”34路视频源。也即,用户张三和李四均为普通管理员角色,该普通管理员角色所具有资源的访问权限可以是相同,也可以是不同。
100.本公开实施例中,对发送到服务器的目标接口访问请求进行拦截,并基于所述用户信息以及所述目标资源,对所述服务器的访问操作进行控制,也即,在除服务器之外的其他电子设备(如客户端)对目标接口访问请求的权限进行校验,如此,避免了在服务器中存储用户角色信息以及相关资源信息,降低了服务器的存储压力。另外,还可以将访问权限判断方法对应的代码与目标方法对应的代码进行隔离,如此,可以提升服务器执行目标方法的效率。
101.针对上述s102,参见图4所示,为本公开实施例所提供的一种拦截目标接口访问请求的方法流程图,包括以下s1021~s1022:
102.s1021,获取预先定义的与所述目标方法对应的目标切面。
103.其中,目标切面是指切入到指定类指定方法的代码片段,而切入到哪些类、哪些方法叫做切入点。一些实施方式中,目标切面也叫编程切面,是指在运行时动态地将代码切入到类的指定方法、指定位置上的编程思想。
104.s1022,在所述目标切面中,拦截发送到所述服务器的所述目标接口访问请求。
105.示例性地,在获取到目标切面之后,即可通过目标切面对发送到所述服务器的目标接口访问请求进行拦截,如此,通过目标切面对权限校验的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提升了程序的可重用性,进而提升开发效率。
106.另外,在预先定义的目标切面中,对发送到服务器的目标接口访问请求进行拦截,还可以将目标方法与目标接口访问请求的访问权限判断方法进行隔离,降低目标方法与目标接口访问请求的访问权限判断方法的耦合度。
107.针对上述s104,参见图5所示,为本公开实施例所提供的一种对目标接口访问请求进行控制的方法流程图,包括以下s1041~s1046:
108.s1041,在所述目标切面中,获取与所述用户信息匹配的资源列表。
109.其中,资源列表是系统中预先进行设置的,可以指定用户对哪些资源进行访问,该资源列表包括用户可以进行访问所有资源。
110.在一种可能的实施方式中,请再次参阅图2,为本公开实施例提供的一种a用户的资源分配的界面示意图,如图2所示,该界面包括用户信息、用户分配资源信息、该资源列表的创建人、该资源列表的创建时间、该资源列表的更新人以及该资源列表的更新时间。其中,用户账号为a,用户姓名为张三,用户所属部门为一级部门,用户角色为普通管理员,分配视频源为已分配“yy测试”14路视频源、已分配“xx测试”29路视频源,该资源列表的创建人为系统管理员,该资源列表的创建时间为2021-12-2 10:17:25,该资源列表的更新人为
系统管理员,该资源列表的更新时间为2021-12-2 10:17:25。
111.在另一种可能的实施方式中,请再次参阅图3,为本公开实施例提供的一种b用户的资源分配的界面示意图,如图3所示,用户账号为b,用户姓名为李四,用户所属部门为一级部门,用户角色为普通管理员,分配视频源为已分配“qq测试”70路视频源、已分配“hh测试”34路视频源,该资源列表的创建人为系统管理员,该资源列表的创建时间为2021-12-2 20:17:25,该资源列表的更新人为系统管理员,该资源列表的更新时间为2021-12-2 20:17:25。
112.在另一种可能的实施方式中,参见图6所示,为本公开实施例提供的一种c用户的资源分配的界面示意图,如图6所示,用户账号为c,用户姓名为王五,用户所属部门为一级部门,用户角色为超级管理员,分配视频源为已分配“一级部门”191路视频源,该资源列表的创建人为系统初始化,该资源列表的创建时间为2021-11-22 13:27:44,该资源列表的更新人为系统管理员,该资源列表的更新时间为2021-12-2 08:56:12。
113.s1042,判断所述目标资源是否属于所述资源列表中的资源;若是,则执行步骤s1043;若否,则执行步骤s1045。
114.其中,资源列表中的资源是系统中所设置好的分配资源信息,比如,普通管理员中的a用户可以访问“yy测试”14路视频源以及“xx测试”29路视频源、普通管理员中的b用户可以访问“qq测试”70路视频源以及“hh测试”34路视频源、超级管理员中的c用户可以访问“一级部门”191路视频源。
115.s1043,确定所述目标接口访问请求具有访问权限。
116.示例性地,若所述目标资源属于所述资源列表中的资源,则确定所述目标接口访问请求具有访问权限,使得具有访问权限的用户能够访问到目标资源。
117.s1044,控制所述服务器调用并执行所述目标方法。
118.示例性地,在确定所述目标接口访问请求具有访问权限的情况下,可以控制服务器调用并执行所述目标方法来响应所述目标接口访问请求,以实现用户可以对所述目标资源进行访问的功能。
119.在一些可能的实施方式中,在所述控制所述服务器调用并执行所述目标方法之后,所述方法还包括:接收所述服务器执行所述目标方法的返回结果,基于所述返回结果对所述目标资源进行展示,也即,在接收到服务器执行目标方法的返回结果后,可以根据返回结果,展示目标资源,如此,可以更加清楚地查看具有权限的目标资源,有利于用户直观的观看目标资源的内容。
120.在一种可能的实施方式中,参见图7所示,为本公开实施例提供的一种a用户访问资源数据的界面示意图,在确定所述目标接口访问请求具有访问权限之后,可以基于所述返回结果展示如图7所示的界面,该界面包括视频源数据概况以及视频源分组两个部分,该视频源数据概况可以包括设备总数量、设备类型、相应类型的设备数量、设备状态以及处于不同状态的数量。
121.其中,设备总数为43台,其中,处于在线状态的设备有29台,处于离线状态的设备有14台,处于未知状态的设备有0台;直连摄像机这一类型的设备有43台,平台接入摄像机这一类型的设备有0台,直连抓拍机这一类型的设备有0台,平台接入抓拍机这一类型的设备有0台。
122.视频源分组包括系统管理员所分配的所有视频源以及已删除视频源。比如,一级部门有43个视频源,其中,“yy测试”有14个视频源,“xx测试”有29个视频源;已删除视频源有0个。需要说明的是,该设备与视频源的数量相同且一一对应,该设备用于采集视频源。
123.在另一种可能的实施方式中,参见图8所示,为本公开实施例提供的一种b用户访问资源数据的界面示意图,在确定所述目标接口访问请求具有访问权限之后,可以基于所述返回结果展示如图8所示的界面,该界面包括视频源数据概况以及视频源分组两个部分,该视频源数据概况可以包括设备总数量、设备类型、相应类型的设备数量、设备状态以及处于不同状态的数量。
124.其中,设备总数为104台,其中,处于在线状态的设备有70台,处于离线状态的设备有34台,处于未知状态的设备有0台;直连摄像机这一类型的设备有104台,平台接入摄像机这一类型的设备有0台,直连抓拍机这一类型的设备有0台,平台接入抓拍机这一类型的设备有0台。
125.视频源分组包括系统管理员所分配的所有视频源以及已删除视频源。比如,一级部门有104个视频源,其中,“qq测试”有70个视频源,“hh测试”有34个视频源;已删除视频源有0个。需要说明的是,该设备与视频源的数量相同且一一对应,该设备用于采集视频源。
126.在另一种可能的实施方式中,参见图9所示,为本公开实施例提供的一种c用户访问资源数据的界面示意图,在确定所述目标接口访问请求具有访问权限之后,可以基于所述返回结果展示如图9所示的界面,该界面包括视频源数据概况以及视频源分组两个部分,该视频源数据概况可以包括设备总数量、设备类型、相应类型的设备数量、设备状态以及处于不同状态的数量。
127.其中,设备总数为191台,其中,处于在线状态的设备有41台,处于离线状态的设备有150台,处于未知状态的设备有0台;直连摄像机这一类型的设备有191台,平台接入摄像机这一类型的设备有0台,直连抓拍机这一类型的设备有0台,平台接入抓拍机这一类型的设备有0台。
128.视频源分组包括系统管理员所分配的所有视频源以及已删除视频源。比如,一级部门有191个视频源,其中,“qq测试”有70个视频源,“yy测试”有14个视频源,“xx测试”有29个视频源,“aaa测试”有30个视频源,“hh测试”有34个视频源,“tt测试”有14个视频源;已删除视频源有11个。需要说明的是,该设备与视频源的数量相同且一一对应,该设备用于采集视频源。
129.s1045,确定所述目标接口访问请求不具有访问权限。
130.s1046,控制所述服务器不执行所述目标方法,并生成指示所述目标接口访问请求不具有访问权限的提示信息。
131.确定目标接口访问请求不具有访问权限之后,控制服务器不执行目标方法,并生成指示所述目标接口访问请求不具有访问权限的提示信息,以提示用户没有访问权限,使得用户更加了解当前情况。
132.其中,提示信息包括但不限于文字提示信息、声音提示信息、灯光提示信息等。
133.需要说明的是,在一些实施方式中,也可省略步骤s1046,也即不生成提示信息,只要不执行所述目标方法即可,也即实现了对不具有资源访问权限的目标接口访问请求进行了拦截。
134.针对上述s104,参见图10所示,为本公开实施例所提供的另一种对目标接口访问请求进行控制的方法流程图,包括以下s201~s207:
135.s201,在所述目标切面中,获取与所述用户信息匹配的资源列表。
136.该步骤与图5中的步骤s101类似,在此不再赘述。
137.s202,判断所述目标资源是否属于所述资源列表中的资源;若是,则执行步骤s203;若否,则执行步骤s206。
138.示例性地,若目标资源属于所述资源列表中的资源,则继续对目标资源的访问次数进行判断;若目标资源不属于所述资源列表中的资源,则确定所述目标接口访问请求不具有访问权限。
139.s203,判断所述目标资源在预设时间段内的被访问次数是否达到预设阈值;若是,则执行步骤s206;若否,则执行步骤s204。
140.在确定所述目标资源属于所述资源列表中的资源之后,需要进一步判断目标资源在预设时间段内的被访问次数是否达到预设阈值,从而确定所述目标资源是否具有访问权限。
141.具体的,所述目标资源在预设时间段内的被访问次数是指针对目标接口在预设时间段内已发起的访问请求的次数。其中,预设时间段可以根据访问的需求进行设置,可以是一天(24小时),也可以是一周,也可以是一小时,在此不做限定。
142.预设阈值是指与所述目标资源对应的最大允许访问次数。若超出预设阈值,则确定所述目标资源不具有访问权限。比如,该预设阈值可以是10次,也可以是20次,在此不做限定。
143.本实施方式中,若所述目标资源属于所述资源列表中的资源,需要判断目标资源在预设时间段内的被访问次数是否达到预设阈值,若被访问次数达到预设阈值,则确定所述目标接口访问请求不具有访问权限,如此,可以对接口访问控制做进一步的限制,可以避免用户过度访问目标资源的情况发生。
144.s204,确定所述目标接口访问请求具有访问权限。
145.示例性地,在确定所述目标资源属于所述资源列表中的资源后,所述目标资源在预设时间段内的被访问次数未达到预设阈值的情况下,确定所述目标接口访问请求具有访问权限。
146.s205,控制所述服务器调用并执行所述目标方法。
147.该步骤与图5中的步骤s1044类似,在此不再赘述。
148.s206,确定所述目标接口访问请求不具有访问权限。
149.在一种可能的实施方式中,在所述目标资源不属于所述资源列表中的资源的情况下,确定所述目标接口访问请求不具有访问权限。
150.在另一种可能的实施方式中,虽然目标资源属于所述资源列表中的资源,但在所述目标资源在预设时间段内的被访问次数达到预设阈值的情况下,也确定所述目标接口访问请求不具有访问权限。
151.s207,控制所述服务器不执行所述目标方法,并生成指示所述目标接口访问请求不具有访问权限的提示信息。
152.该步骤与图1中的步骤s1046类似,在此不再赘述。
153.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
154.基于同一发明构思,本公开实施例中还提供了与接口访问控制方法对应的接口访问控制装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述接口访问控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
155.参见图11所示,为本公开实施例所提供的一种接口访问控制装置的结构示意图,所述装置500包括:
156.定义模块501,用于在目标接口对应的目标方法中定义资源注解,所述资源注解包含所请求的目标资源在所述目标方法的访问请求中所在的字段;
157.拦截模块502,用于拦截发送到服务器的目标接口访问请求,其中,所述服务器用于调用并执行所述目标方法以获取所述目标资源;
158.解析模块503,用于基于所述资源注解,对所述目标接口访问请求进行参数解析,得到解析结果,所述解析结果中包含用户信息以及所请求的所述目标资源;
159.控制模块504,用于基于所述用户信息以及所述目标资源,对所述服务器的访问操作进行控制,其中,所述访问操作通过调用并执行所述目标方法实现。
160.在一种可能的实施方式中,所述拦截模块502具体用于:
161.获取预先定义的与所述目标方法对应的目标切面;
162.在所述目标切面中,拦截发送到所述服务器的所述目标接口访问请求。
163.在一种可能的实施方式中,所述控制模块504具体用于:
164.在所述目标切面中,获取与所述用户信息匹配的资源列表;
165.基于所述资源列表以及所述目标资源的匹配结果,对所述服务器的访问操作进行控制。
166.在一种可能的实施方式中,所述控制模块504具体用于:
167.在所述目标资源属于所述资源列表中的资源的情况下,确定所述目标接口访问请求具有访问权限;
168.在所述目标接口访问请求具有访问权限的情况下,控制所述服务器调用并执行所述目标方法。
169.在一种可能的实施方式中,所述控制模块504具体用于:
170.在所述目标资源不属于所述资源列表中的资源的情况下,确定所述目标接口访问请求不具有访问权限;
171.在所述目标接口访问请求不具有访问权限的情况下,控制所述服务器不执行所述目标方法,并生成指示所述目标接口访问请求不具有访问权限的提示信息。
172.在一种可能的实施方式中,所述控制模块504具体用于:
173.在所述目标资源属于所述资源列表中的资源的情况下,判断所述目标资源在预设时间段内的被访问次数是否达到预设阈值;
174.在所述目标资源在所述预设时间段内的被访问次数未达到所述预设阈值的情况下,确定所述目标接口访问请求具有访问权限。
175.在一种可能的实施方式中,参见图12所示,所述装置还包括:
176.展示模块505,用于接收所述服务器执行所述目标方法的返回结果,基于所述返回结果对所述目标资源进行展示。
177.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
178.基于同一技术构思,本技术实施例还提供了一种电子设备。参照图13所示,为本技术实施例所提供的电子设备700的结构示意图,包括处理器701、存储器702和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换。
179.本技术实施例中,存储器702具体用于存储执行本技术方案的应用程序代码,并由处理器701来控制执行。也即,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行存储器702中存储的应用程序代码,进而执行前述任一实施例中所揭示的方法。
180.其中,存储器702可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
181.处理器701可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
182.可以理解的是,本技术实施例示意的结构并不构成对电子设备700的具体限定。在本技术另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
183.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的接口访问控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
184.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的接口访问控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
185.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
186.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统
和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
187.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
188.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
189.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
190.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献