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

一种访问控制方法和装置与流程

2021-12-07 20:42:00 来源:中国专利 TAG:


1.本技术属于互联网技术领域,尤其涉及一种访问控制方法和装置。


背景技术:

2.越权(privilege escalation,权限提升)是指攻击者能够执行其本身没有资格执行的一些操作,属于“访问控制”的问题。越权访问分为垂直越权访问和水平越权访问。垂直越权是指不同用户级别之间的越权,如普通用户执行管理员用户的权限。水平越权是指相同级别用户之间的越权操作。对于一个正常的web请求而言,一般的流程是:登录

提交请求

验证权限

数据库查询

返回结果。如果对于前端请求过于相信又没有有效的验证,那么就会导致越权行为的产生,常见的程序都会认为通过登录后即可验证用户的身份,从而不会做下一步验证,最后导致越权。
3.目前常有的越权访问一般存在如下几种攻击方式:
4.1)通过隐藏url,这种越权方式通过访问控制只有管理员权限的url,但是url泄漏会导致恶意攻击或者被攻击者猜测到,从而导致越权;
5.2)直接对象引用,这种攻击方式通过修改请求的参数,比如查询用户的id从低权限id换成高权限id,从而产生越权;
6.3)上传下载文件,这种攻击方式是攻击网址下载功能,很多网址有付费的vip下载通道,如果被攻击者知道后,则会被越权下载;
7.4)多阶段功能,一个功能如果有多个交易阶段。比如重置密码功能,第一步交易需要验证用户信息,验证成功后第二步重置密码,如果第二步重置密码操作并不进行身份验证,攻击者可以重放请求,绕过第一步验证后,再重置新的密码,从而导致攻击成功。
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.图1是本技术提供的访问控制方法一种实施例的方法流程图;
46.图2是本技术提供的防止web越权的方法流程示意图;
47.图3是本技术提供的防止web越权的系统结构示意图;
48.图4是本技术提供的一种访问控制方法的电子设备的硬件结构框图;
49.图5是本技术提供的访问控制方法装置一种实施例的模块结构示意图。
具体实施方式
50.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
51.图1是本技术提供的访问控制方法一种实施例的方法流程图。虽然本技术提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本技术实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
52.具体的,如图1所示,上述的访问控制方法可以包括如下步骤:
53.步骤101:接收目标用户的访问请求,其中,所述访问请求中携带有令牌;
54.即,采用用户授权的方式对用户颁发令牌的方式,在令牌颁发后,将令牌(token)与用户信息进行绑定并保存,将保存的令牌在每次请求时放入请求体中,防止用户请求被篡改,进而保证请求安全传输至服务器端。
55.步骤102:根据所述令牌匹配到所述目标用户的用户数据;
56.步骤103:根据所述用户数据,确定所述目标用户所属的用户角色;
57.步骤104:调取请求规则库,获取所述请求规则库中所述用户角色关联的请求规则;
58.即,在服务器端建立请求规则库,并将请求规则库中的请求规则与用户角色进行
绑定,用于校验客户端每次发送的请求。
59.步骤105:确定所述访问请求与所述关联的请求规则是否适配,在确定适配的情况下,确定访问验证通过。
60.在上例中,通过在访问请求中携带可以匹配用户数据的令牌,使得接收到访问请求之后,可以对用户进行身份验证,在身份验证之后,可以确定用户角色,从而确定用户角色所关联的请求规则,从而确定是否存在越权访问的风险,以实现对访问的安全控制。进一步的,因为请求规则是与用户角色关联的,而不是与单个用户关联的,这样可以减少请求规则的数据量。通过上述方案解决了现有的访问控制过程中,安全程度低,数据负荷过大的问题,达到了准确进行安全控制,且数据负荷较低的技术效果。
61.在实际进行请求校验,即上述的请求规则适配的时候,可以是在访问请求中携带:请求参数和请求路径,相应的,确定所述访问请求与所述关联的请求规则是否适配,可以包括:确定所述关联的请求规则中是否存在所述请求参数和所述请求路径;在确定存在所述请求参数和所述请求路径的情况下,确定适配;在确定不存在所述请求参数和所述请求路径的情况下,确定不适配。即,通过确定请求规则中是否有请求参数和请求路径的方式,来进行请求规则适配,以实现对用户访问请求的校验。
62.为了提升数据访问的效率,请求规则库可以预缓存请求规则库的方式,将请求规则库存储于缓存中。即,调取请求规则库之前可以确定目标缓存中是否存储有所述请求规则库;在确定目标缓存中存储有所述请求规则库的情况下,从数据库中读取所述请求库规则存入所述目标缓存中,以在调取请求规则库中直接从所述目标缓存中获取。这样使得在访问请求规则库的时候,可以直接从缓存中获取,提升了数据访问的效率。
63.在实现的时候,如果确定所述访问请求与所述关联的请求规则不适配,那么可以确定访问请求为越权访问请求,因此,可以向前端返回访问失败的响应报文。
64.对于令牌而言,可以是用户申请的,例如,对于服务端而言,可以接收目标用户的验证授权请求;响应于所述验证授权请求,对目标用户进行身份验证;在验证通过的情况下,为所述目标用户颁发令牌,其中,所述令牌具备时效性且与目标用户的用户数据关联。
65.上述的请求规则库中的规则与用户角色绑定,不同的用户角色对应不同的请求规则,相同的用户角色对应相同的请求规则。即,基于角色的不同,设置不同的请求规则,而不是基于用户的不同,设置不同的请求规则,这样可以减少请求规则库中的数据量,及时用户数量激增,也不会存储过多的请求规则。
66.下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
67.在本例中提供了一种防止越权攻击的方式和方法,仅涉及web领域的攻击方式。对于web领域的越权攻击方式的防止方案,目前常用的方法有两种:
68.1)在每一次的页面请求基础上进行了加密,将加密后生成的密文数据,发送给前端之后,在下一次请求的时候,通过获取之前的加密密文数据获取权限参数信息,进行防越权校验。
69.2)在防止越权的基础上,提出了校验信息库的概念,其中校验信息库是与业务受理信息和业务id进行绑定的,而业务受理id是根据用户的手机号码生成的,通过比对越权校验信息库进行防越权校验。
70.然而,上述两种方式存在不同程度的问题,方式1)对请求进行了加密,但是每次请求的传输都需要上一次请求的加密密文数据以获取权限参数信息,强依赖于上一次请求的权限信息;方式2)虽然给出了校验信息库的解决方案,不依赖于之前的请求权限信息,但是随着时间的推移,随着系统的增长,校验信息库的规则会随着用户手机号的增长量而增长,也会造成请求响应时间过慢的问题。
71.基于此,在本例中提供了一种基于web的防止越权的方法,采用用户授权的方式对用户颁发令牌(下文称:token),在令牌颁发后,将token与用户信息进行绑定并保存,将保存的token信息在每次请求时放入请求体中,防止用户请求被篡改,进而保证请求安全传输至服务器端。同时在服务器端建立请求规则库,并将请求规则库中的请求规则与用户角色进行绑定,用于校验客户端每次发送的请求。进一步地,对于请求规则库的读取,可以通过预缓存请求规则库的方式,将请求规则库存储于缓存中。
72.上述方式对页面的访问请求首先进行了授权处理,其次不是每次将用户信息直接与用户页面访问的权限进行绑定,而是与用户角色绑定,根据用户角色判定当前用户是否有访问某一类用户的权限(如:管理员权限)。而且,对于请求规则库,由于一般垂直越权中,均为低权限用户越权访问高权限用户的请求,可以仅保存高权限范围可访问规则,即可防止垂直越权的访问,并不需要将所有规则均与个人用户进行绑定;对于水平越权访问的请求,不同用户角色之间,其请求的差异性也比较小,可以仅在请求规则库中保存不同角色间的请求规则的差异部分。这样极大地减缓了校验规则库的增长速度,同时,由于设置了用户授权机制,保证了每次请求发送信息的保密程度,防止了无鉴权的访问请求(如:文件上传与下载)。通过上述方案既防止了请求报文信息被篡改的风险,也不会因为校验规则库与个人用户绑定,而造成校验规则过于繁杂而使得维护困难,请求响应过慢的问题。进一步的,因为采用了缓存技术将请求规则作预缓存处理,极大地提高了请求的响应速度。
73.具体的,该防止web越权访问的方法,可以如图2所示,如下步骤:
74.s1:客户端发送验证信息到服务器端进行验证;
75.s2:服务器端验证客户信息,验证是否成功;
76.s3:在验证成功后,服务器端进行授权处理,颁发给该客户端一个有时效期限的token;
77.s4:服务器端将token与用户信息进行绑定存储;
78.s5:服务器端将token返回给客户端,客户端加密后将其保存于前端的session中;
79.s6:客户端在拿到token后,在后续的访问中将令牌加至请求体中,正常发送请求;
80.s7:服务器端在接收请求后,获取请求中的token,根据token获取用户信息;
81.s8:在成功获取用户信息后,根据用户信息查询用户所属的权限信息;
82.s9:根据用户权限信息,获取当前权限对应的可访问的请求规则库;
83.s10:如果当前用户在请求规则库中是有权限的,则通过;否则,不通过;
84.s11:对于包含即将失效token的请求,请求重新颁发新的token,如果成功,则颁发新的token,并返回给前端,并继续处理业务,处理后将新的token返回给前端。
85.s12:前端获取到新的token后,删除原有的token,并替换为新的token,并在后续请求中带入新的token并发送请求至服务器端;
86.进一步地,对于上述步骤s8和步骤s9,在本例中采用请求规则预读的方式:由于请
求规则库中的规则数据和需要频繁使用,在高并发业务场景下,数据库大多数情况都是用户并发访问比较薄弱的环节,因此,一般需要使用缓冲操作进行处理,而不是直接访问mysql等数据库。
87.为了解决高并发业务数据量过大的问题,在本例中通过缓存请求规则库中的方式来缓存请求规则库中的数据,例如,可以通过图1的方式进行缓存操作,确定是否有缓存,如果缓存中有数据,则返回调用端,如果缓存中无数据,则从数据库中加载数据并写入缓存中,然后再返回调用端。
88.对于越权操作,可通过如图3所示的模块实现:
89.用户管理模块1,用于验证用户信息,并且请求授权;
90.授权管理模块2,用于对验证通过的用户进行授权,并颁发有时效的token;
91.进一步地,对于包含即将失效token的请求,会调用授权管理模块,请求重新颁发token,如果成功,则颁发新的token,并返回给前端;
92.越权管理模块3,用于维护服务器端请求规则库的增加与查询的维护,并与用户角色id进行绑定,使得每种不同的角色,所能访问的请求规则不同;
93.其中,请求规则库分为:垂直越权请求检测规则库和水平越权请求检测规则库。垂直越权库,按照角色分类将请求路径与角色绑定;水平越权库,按照角色分类。
94.业务处理模块4,用于越权验证成功后,后续进行业务处理的模块;
95.具体的,为了防止web系统越权,在本例中,主要使用的表格有:用户信息表user_tbl、用户角色表role_tbl、角色规则表role_rule_relation;使用的角色有:管理员role_admin、普通用户a role_user_a、普通用户b role_user_b,其中,role_admin>role_user_a>role_user_b。
96.进一步的,客户端请求发送到服务器端后,可以使用过滤器获取其请求中的参数,例如本实例中,获取到的参数为:请求参数,请求路径,每次请求使用的token,此时,为防止越权,可以将token和请求参数进行校验,防止客户端发送越权请求。
97.请求规则库使用的表结构(role_rule_relation),可以如下表所示:
98.字段名数据类型role_idchar(10)typechar(1)role_rulechar(200)
99.其中,type字段分为:垂直越权,水平越权;其中,role_rule为水平越权的规则,例如相关url或者用户特有信息,其中存储信息根据水平越权和垂直越权的方式不同而不同;
100.假设存在如下场景:攻击方非法获取了role_user_b的账号,现在攻击方想使用role_user_b的账号,越权访问role_admin的权限,那么攻击方可以由以下几步实现攻击:攻击方登录role_user_b的账号并获取其令牌权限,攻击方使用非法手段向服务器发起请求,此请求包含的数据或者路径是role_admin的权限可以查看到的。
101.对于role_user_b,本例中防止web越权的具体示例步骤如下:
102.s2.1:用户role_user_b获取了token数据;
103.s2.2:role_user_b发送请求给服务器端;
104.s2.3:服务器端通过滤器程序拦截客户端发送的请求,并读取到了请求中的数据,
数据示例如下:
105.参数名称位置数据tokenrequet headerff6a1593

0c09

49ff

b4c2

7a6087b9238request pathrequest urlmanagement/role_admin_inforequest parametersrequest body{usr_pho:12212345678}
106.s2.4:服务器端通过token读取到用户数据,用户数据示例如下:
[0107][0108]
s2.5:服务器端根据user_pho判断缓存redis中是否有role_rule_relation的数据;
[0109]
s2.6:如果存在,直接返回给过滤器程序其规则数据,读取role_user_b的规则数据,为了方便显示,数据可以采用json格式,示例如下:
[0110][0111]
s2.7:如果发现缓存redis中无缓存数据,则程序调用数据库表role_rule_relation和role_inf数据库表的数据,并写入redis中去,写入数据表;
[0112]
s2.8:程序通过匹配role_user_b请求规则库的数据后,发现其规则库中不存在management/role_admin_info路径,判断role_user_b越权存在,服务器端程序发现role_user_b无权限读取此数据请求,返回前端失败的响应报文。
[0113]
s2.9:前端界面报错。
[0114]
在上例中,提出了一种解决web越权的方案,在安全性和响应效率方面都做了优化,极大地减轻了请求规则库建立过程中,规则与用户信息绑定后带来的维护繁杂,校验导致用户响应速度慢的隐患。具体的,使用令牌技术既防止了无权限访问系统攻击者的侵入,或者客户端篡改请求信息,又对越权攻击的方式进行了阻断处理,同时将解决方案进行了模块化处理,极大地方便了现实生产使用的方便性和便捷性。使用令牌鉴权读取用户信息的方式,使用令牌技术读取绑定的用户信息的方式,极大地方便了后端服务器的读取用户数据的方式,防止客户端请求篡改的可能。且提出了使用缓存技术存储请求规则库的方式。
[0115]
本技术上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图4是本技术提供的一种访问控制方法的电子设备的硬件结构框图。如图4所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可
包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
[0116]
存储器04可用于存储应用软件的软件程序以及模块,如本技术实施例中的访问控制方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的访问控制方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0117]
传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0118]
在软件层面,上述访问控制装置可以如图5所示,包括:
[0119]
接收模块501,用于接收目标用户的访问请求,其中,所述访问请求中携带有令牌;
[0120]
匹配模块502,用于根据所述令牌匹配到所述目标用户的用户数据;
[0121]
第一确定模块503,用于根据所述用户数据,确定所述目标用户所属的用户角色;
[0122]
调取模块504,用于调取请求规则库,获取所述请求规则库中所述用户角色关联的请求规则;
[0123]
第二确定模块505,用于确定所述访问请求与所述关联的请求规则是否适配,在确定适配的情况下,确定访问验证通过。
[0124]
在一个实施方式中,上述访问请求中还可以携带有:请求参数和请求路径,相应的,上述第二确定模块可以包括:
[0125]
第一确定单元,用于确定所述关联的请求规则中是否存在所述请求参数和所述请求路径;
[0126]
第二确定单元,用于在确定存在所述请求参数和所述请求路径的情况下,确定适配;
[0127]
第三确定单元,用于在确定不存在所述请求参数和所述请求路径的情况下,确定不适配。
[0128]
在一个实施方式中,上述访问控制装置在调取请求规则库之前还可以确定目标缓存中是否存储有所述请求规则库;在确定目标缓存中存储有所述请求规则库的情况下,从数据库中读取所述请求库规则存入所述目标缓存中,以在调取请求规则库中直接从所述目标缓存中获取。
[0129]
在一个实施方式中,上述访问控制装置在确定所述访问请求与所述关联的请求规则是否适配之后,还可以在确定所述访问请求与所述关联的请求规则不适配的情况下,向前端返回访问失败的响应报文。
[0130]
在一个实施方式中,上述访问控制装置在接收目标用户的访问请求之前,还可以接收目标用户的验证授权请求;响应于所述验证授权请求,对目标用户进行身份验证;在验证通过的情况下,为所述目标用户颁发令牌,其中,所述令牌具备时效性且与目标用户的用
户数据关联。
[0131]
在一个实施方式中,上述请求规则库中的规则与用户角色绑定,不同的用户角色对应不同的请求规则,相同的用户角色对应相同的请求规则。
[0132]
本技术的实施例还提供能够实现上述实施例中的访问控制方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的访问控制方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0133]
步骤1:接收目标用户的访问请求,其中,所述访问请求中携带有令牌;
[0134]
步骤2:根据所述令牌匹配到所述目标用户的用户数据;
[0135]
步骤3:根据所述用户数据,确定所述目标用户所属的用户角色;
[0136]
步骤4:调取请求规则库,获取所述请求规则库中所述用户角色关联的请求规则;
[0137]
步骤5:确定所述访问请求与所述关联的请求规则是否适配,在确定适配的情况下,确定访问验证通过。
[0138]
从上述描述可知,本技术实施例通过在访问请求中携带可以匹配用户数据的令牌,使得接收到访问请求之后,可以对用户进行身份验证,在身份验证之后,可以确定用户角色,从而确定用户角色所关联的请求规则,从而确定是否存在越权访问的风险,以实现对访问的安全控制。进一步的,因为请求规则是与用户角色关联的,而不是与单个用户关联的,这样可以减少请求规则的数据量。通过上述方案解决了现有的访问控制过程中,安全程度低,数据负荷过大的问题,达到了准确进行安全控制,且数据负荷较低的技术效果。
[0139]
本技术的实施例还提供能够实现上述实施例中的访问控制方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的访问控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0140]
步骤1:接收目标用户的访问请求,其中,所述访问请求中携带有令牌;
[0141]
步骤2:根据所述令牌匹配到所述目标用户的用户数据;
[0142]
步骤3:根据所述用户数据,确定所述目标用户所属的用户角色;
[0143]
步骤4:调取请求规则库,获取所述请求规则库中所述用户角色关联的请求规则;
[0144]
步骤5:确定所述访问请求与所述关联的请求规则是否适配,在确定适配的情况下,确定访问验证通过。
[0145]
从上述描述可知,本技术实施例通过在访问请求中携带可以匹配用户数据的令牌,使得接收到访问请求之后,可以对用户进行身份验证,在身份验证之后,可以确定用户角色,从而确定用户角色所关联的请求规则,从而确定是否存在越权访问的风险,以实现对访问的安全控制。进一步的,因为请求规则是与用户角色关联的,而不是与单个用户关联的,这样可以减少请求规则的数据量。通过上述方案解决了现有的访问控制过程中,安全程度低,数据负荷过大的问题,达到了准确进行安全控制,且数据负荷较低的技术效果。
[0146]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件
程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0147]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0148]
虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
[0149]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0150]
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
[0151]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0152]
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0153]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0154]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0155]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0156]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0157]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0158]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0159]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0160]
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0161]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实
施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0162]
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
再多了解一些

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

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

相关文献