CN114239009A - 权限控制方法、装置及终端设备 - Google Patents
权限控制方法、装置及终端设备 Download PDFInfo
- Publication number
- CN114239009A CN114239009A CN202111462466.XA CN202111462466A CN114239009A CN 114239009 A CN114239009 A CN 114239009A CN 202111462466 A CN202111462466 A CN 202111462466A CN 114239009 A CN114239009 A CN 114239009A
- Authority
- CN
- China
- Prior art keywords
- information
- role
- target
- authority
- resource
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access 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)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本申请适用于计算机应用技术领域,提供了一种权限控制方法、装置及终端设备,该方法包括:终端设备配置资源列表的权限控制信息及目标账户对应的角色,权限控制信息与所述角色相关联,资源列表中包括至少一项或者至少一类资源信息;终端设备获取目标账户针对至少一项或者至少一类资源信息中的目标资源信息发起的访问请求;若权限控制功能开启,则终端设备根据访问请求、目标账户对应的角色,按照目标资源信息对应的目标权限控制信息对目标账户进行权限验证;其中,权限控制信息包括目标权限控制信息。通过本申请可以解决权限管理过程不灵活且繁琐的问题,可以提高权限控制的灵活度及便捷性。
Description
技术领域
本申请属于计算机应用技术领域,尤其涉及一种权限控制方法、装置及终端设备。
背景技术
在计算机系统中,权限是指用户具有特定的系统资源访问的权利;权限管理是针对不同的用户访问系统资源进行权限的控制,避免因权限控制缺失或操作不当造成系统信息泄露等安全问题。
目前,传统的基于角色的权限管理方式,将管理的规则预先硬编码或预设为既定的配置项;只能通过已有的规则管理账户与角色的关系,从而控制账户的权限,或者通过修改配置项更改功能组件的权限管理规则;使得权限管理过程不灵活且繁琐。
发明内容
本申请实施例提供了一种权限控制方法、装置及终端设备,可以提高权限控制的灵活度及便捷性。
第一方面,本申请提供了一种权限控制方法,该方法可以包括:
配置资源列表的权限控制信息及目标账户对应的角色,所述权限控制信息与所述角色相关联,所述资源列表中包括至少一项或者至少一类资源信息;
获取所述目标账户针对所述至少一项或者至少一类资源信息中的目标资源信息发起的访问请求;
若权限控制功能开启,则根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证;
其中,所述权限控制信息包括所述目标权限控制信息。
在第一方面的一种可能的实现方式中,所述配置资源列表的权限控制信息,包括:
使用通配符表示所述资源列表中的所述至少一类目标资源;
配置所述资源列表对应的黑名单信息、所有人访问权限信息和白名单信息中的一种或多种信息;
其中,所述权限控制信息包括所述黑名单信息、所述所有人访问权限信息和所述白名单信息中的一种或多种信息;所述黑名单信息的优先级高于所述白名单信息。
在第一方面的一种可能的实现方式中,在所述配置资源列表的权限控制信息之后,所述方法包括:
更新缓存中的历史权限控制信息,并将所述权限控制信息存储至文件存储系统中。
在第一方面的一种可能的实现方式中,在所述配置资源列表的权限控制信息及目标账户对应的角色之后,所述方法还包括:
接收开启所述权限控制功能的指令;
根据所述指令,开启所述权限控制功能,并在接收访问请求的接口处添加验证权限的拦截器。
在第一方面的一种可能的实现方式中,所述根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证,包括:
若所述权限控制功能已开启,则检查缓存中是否存有所述访问请求的历史验证结果;
若缓存中无所述历史验证结果,则获取所述目标资源信息对应的所述目标权限控制信息;
读取所述目标账户对应的角色,并判断所述目标账户对应的角色是否为所述目标权限控制信息中的黑名单信息里的角色;
若所述目标账户对应的角色非所述黑名单信息中的角色,则判断所述目标权限控制信息中的所有人访问权限信息是否为真;
若所述所有人访问权限信息非真,则判断所述目标账户对应的角色是否为所述目标权限控制信息中的白名单信息里的角色;
若所述目标账户对应的角色为所述白名单信息中的角色,则验证通过,并将此次的验证结果存储至缓存中;
若所述目标账户对应的角色非所述白名单信息中的角色,则验证不通过,并将此次的验证结果存储至缓存中。
在第一方面的一种可能的实现方式中,所述获取所述目标资源信息对应的所述目标权限控制信息,包括:
将所述权限控制信息中的资源信息与所述访问请求对应的目标资源信息进行匹配;
若所述权限控制信息中的资源信息与所述访问请求对应的目标资源信息相匹配,则将所述权限控制信息作为所述目标权限控制信息。
在第一方面的一种可能的实现方式中,所述权限控制信息对应的目标资源与所述访问请求对应的目标资源相匹配,包括:
所述权限控制信息对应的资源信息与所述访问请求对应的目标资源信息相同;
或者,所述权限控制信息对应的资源信息为多个,所述访问请求对应的目标资源信息与多个所述资源信息中的一个资源信息相同;
或者,所述权限控制信息对应的资源资源为一类资源信息,所述访问请求对应的目标资源信息属于所述一类资源信息;
或者,所述权限控制信息对应的资源信息为多类资源信息或多种资源信息,所述访问请求对应的目标资源信息符合所述多类资源信息中的一类或与所述多种资源信息的一种相同。
在第一方面的一种可能的实现方式中,所述方法还包括:
若所述权限控制功能未开启,则通过所述权限验证;
若缓存中有所述历史验证结果,所述历史验证结果为验证通过,则此次验证通过;若所述历史验证结果为验证未通过,则此次验证不通过;
相应的,若缓存中无所述历史验证结果,且未获取到所述目标资源信息对应的所述目标权限控制信息,则验证通过,并将本次验证结果存储至缓存中;
若所述目标账户对应的角色为所述黑名单信息中的角色,则验证不通过,并将本次验证结果存储至缓存中;
若所述所有人访问权限信息为真,则验证通过,并将本次验证结果存储至缓存中。
在第一方面的一种可能的实现方式中,所述目标账户对应的角色为所述黑名单信息中的角色,包括:
所述黑名单信息中的角色为一个角色名称,所述目标账户对应的角色中的至少一个角色名称为所述黑名单信息中的角色名称;
或者,所述黑名单信息中的角色为一类角色,所述目标账户对应的角色中的至少一个角色属于所述黑名单信息中的一类角色;
或者,所述黑名单信息中的角色为多类角色或多个角色名称,所述目标账户对应的角色中的至少一个角色属于所述黑名单信息中的多类角色中的一类角色或为所述黑名单信息中的多个角色名称中的一个。
在第一方面的一种可能的实现方式中,所述目标账户对应的角色为所述白名单信息中的角色,包括:
所述白名单信息中的角色为一个角色名称,所述目标账户对应的角色中的一个角色名称为所述白名单信息中的角色名称;
或者,所述白名单信息中的角色为一类角色,所述目标账户对应的角色中的至少一个角色属于所述白名单信息中的一类角色;
或者,所述白名单信息中的角色为多类角色或多个角色名称,所述目标账户对应的角色中的至少一个角色属于所述白名单信息中的多类角色中的一类角色或为所述白名单信息中的多个角色名称中的一个。
第二方面,本申请实施例提供了一种权限控制装置,该装置可以包括:
配置单元,用于配置资源列表的权限控制信息及目标账户对应的角色,所述权限控制信息与所述角色相关联,所述资源列表中包括至少一项或者至少一类资源信息;
获取单元,用于获取所述目标账户针对所述至少一项或者至少一类资源信息中的目标资源信息发起的访问请求;
验证单元,用于若权限控制功能开启,则根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证;
其中,所述权限控制信息包括所述目标权限控制信息。
第三方面,本申请提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见第一方面中的相关描述,在此不再赘述。
本申请与现有技术相比存在的有益效果是:通过本申请,终端设备可以针对一项或者一类资源信息对应的资源列表进行权限控制信息的配置,并设置目标账户对应的角色,根据角色、目标账户针对目标资源信息发起的访问请求以及目标资源信息对应的目标权限控制信息,对目标账户进行权限验证,以控制目标账户对系统中资源信息的访问权限;通过本申请,可以根据需要配置任一项或一类资源信息的权限控制信息,提高了配置权限控制信息的便捷性;在权限控制功能开启的情况下依据目标权限控制信息对目标账户的访问请求进行权限控制,提高了权限控制的灵活性;具有较强的易用性与实用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的整体流程示意图;
图2是本申请实施例提供的权限控制方法的流程示意图;
图3是本申请实施例提供的设置权限控制信息的流程示意图;
图4是本申请实施例提供开启权限管理的流程示意图;
图5是本申请实施例提供权限验证的流程示意图;
图6是本申请实施例提供的权限控制装置的结构示意图;
图7是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
权限控制是账户信息管理系统的一个重要组成部分。权限控制是指根据系统设置的安全规则及策略,使账户只能访问已被授权的内容。基于角色的权限控制,在账户与访问权限之间引入角色的参量,每个角色有其对应的权限,通过角色控制账户的权限。
现有的基于角色的权限管理,将管理的规则预先编码或预设好,系统只能根据已有的规则来管理账户与角色之间的关系,以控制账户的权限;或者通过修改某功能接口的配置项,以修改该功能组件的权限管理规则。基于该方式,可以修改的权限管理规则对应的资源都需要有一个相应的配置项,对于没有提供对应配置项的资源则无法进行权限管理,从而导致权限管理不灵活。另外,当需要对一系列的资源进行权限管理规则的变更时,需要逐个对资源的配置项进行修改,从而使得操作繁琐;而且,由于用户操作失误使得相应的资源无法被使用或访问时,需要停掉相应的服务并重新配置后再重启该服务;从而在权限控制过程中存在诸多不便。
本申请中针对系统的资源信息可以通过自定义权限管理规则,并基于自定义的权限管理规则,开启权限管理的开关,即可按照自定义的权限管理规则对账户访问系统资源信息的过程进行权限控制。同时,在对系统的资源信息配置权限管理规则时,还可以通过通配符的表示形式,简化权限管理规则的配置过程。
示例性的,系统中针对资源信息的权限管理的接口均以permission_manager开头,查询权限管理规则的接口为permission_manager_getRules、设置权限管理规则的接口为permission_manager_setRules、添加权限管理规则的接口为permission_manager_addRules。其中,若角色A被配置为可以访问权限管理相关的所有接口,则角色A对应的权限管理规则中允许访问的接口可设置为permission_manager*(采用通配符的表示形式)。若角色B被配置为只能访问查询权限管理规则的接口,则角色B对应的权限管理规则中允许访问的接口可设置为permission_manager_getRules。在为账户授予相应的角色并开启权限管理的开关后,具有角色A的账户可以修改和查询管理规则,具有角色B的账户则只能查询权限管理规则;从而还可以根据实际应用中的需要,终端设备接收用户的配置指令,对系统中的资源信息的管理规则进行设置。
下面通过实施例介绍本申请中对系统中的资源信息进行权限控制的过程。本申请中所有实施例中的方法步骤的执行主体为终端设备,该终端设备可以为桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
请参见图1,图1是本申请实施例提供的整体流程示意图。如图1所示,系统启动后,终端设备通过可配置权限控制信息的接口,对系统中的资源信息所对应的权限控制信息进行配置;其中,资源信息包括数据访问接口、数据以及文件等;该权限控制信息即为上文中所述权限管理规则。另外,系统中可配置权限控制信息的接口,可以为开放式的接口,无需将权限管理规则预先硬编码或预设好,可以根据需要对系统的任何资源信息进行权限管理规则的修改、添加、删除或更新。
终端设备在接收到用户输入的开启指令后,开启系统的权限控制功能;终端设备在接收到账户的访问请求后,基于开启的权限控制功能对当前账户的访问请求进行权限验证,验证通过则该账户可以访问到相应的资源信息,若验证不通过,则系统拒绝该账户的访问请求。
通过本申请实施例,可以对系统资源信息的权限控制更加灵活,可以对资源信息中的任一接口或数据、文件等资源进行权限控制或管理,从而实现可自定义的权限管理过程。
基于上述整体实现过程,本申请实施例提供了一种权限控制方法。下面通过本申请实施例介绍该方法实现的具体过程。
请参见图2,图2是本申请一实施例提供的权限控制方法的流程示意图。
如图2所示,该方法包括以下步骤:
S201,配置资源列表的权限控制信息及目标账户对应的角色,所述权限控制信息与所述角色相关联,所述资源列表中包括至少一项或者至少一类资源信息。
在一些实施例中,终端设备根据用户输入的配置信息,配置资源列表对应的权限控制信息,该权限控制信息为资源列表对应的权限管理规则。目标账户为终端设备上注册的系统账户,通过对该目标账户赋予相应的角色,以控制该目标账户对系统中资源信息的访问权限。
示例性的,终端设备根据用户输入的角色信息,设置该角色信息对应的权限,从而使权限控制信息与角色相关联。资源列表中包括的资源信息可以是一项资源信息,例如一个查询权限管理规则permission_manager_getRules接口,还可以是一类资源信息,例如一类接口:权限管理permission_manager*接口,该类权限管理接口可以包括查询权限管理规则、添加权限管理规则等接口。另外,该资源列表除了包括接口资源信息以外,还可以包括文件资源信息,或者同时包括接口资源信息和文件资源信息;其中,该文件资源信息中可以包含数据资源的访问路径,通过该路径可以获取到相应的数据资源。
示例性的,若系统包括三个功能模块:权限管理模块、角色管理模块以及用户管理模块;权限管理模块用于管理权限规则(权限控制信息),角色管理模块用于管理账户角色,用户管理模块用于管理用户信息。当配置的权限控制信息中有多个规则管理同一个接口时,该接口对应的访问权限只要满足其中一个规则即可被相应的账户访问。上述每个模块的接口功能如下表1所示:
表1
本申请实施例中,终端设备可以对任一项资源信息或一系列的资源信息配置相应的权限控制信息,可以实现对系统中任何形式的资源信息的权限管理,从而可以支持自定义式的权限管理方式。
在一些实施例中,所述配置资源列表的权限控制信息,包括:
使用通配符表示所述资源列表中的所述至少一类目标资源;配置所述资源列表对应的黑名单信息、所有人访问权限信息和白名单信息中的一种或多种信息。
其中,所述权限控制信息包括所述黑名单信息、所述所有人访问权限信息和所述白名单信息;所述黑名单信息的优先级高于所述白名单信息。
在一种可能的实现方式中,若配置的资源列表为一系列的资源信息则可以通过通配符的形式进行表示,例如资源列表包括perMgr_*和roleMgr_*,则表示该资源列表中包括以perMgr_开头的所有权限管理相关的资源信息(如查询权限管理信息接口等)和以roleMgr_开头的所有角色管理相关的资源信息(如设置用户角色接口等)。
示例性的,在配置资源列表的权限控制信息时,可以设定相应的白名单信息、黑名单信息以及所有人访问权限信息等,针对每一项资源列表配置与其对应的权限控制信息。
其中,黑名单信息为不允许访问该资源列表中资源信息对应的角色列表,该黑名单信息中的角色列表也可以使用通配符表示一类角色。所有人访问权限信息对应的值设置为真或假,当值为真时,允许所有人访问该资源列表,当值为假时,不允许所有人访问该资源列表。白名单信息为允许访问该资源列表中的资源信息对应的角色列表,该白名单信息中的角色列表可以使用通配符表示一类角色。白名单信息和黑名单信息中的角色列表可以包括一个角色、一类角色、多个角色或多类角色。另外,权限控制信息还包括相应的权限管理规则名称或编号等。
例如,如下配置的权限控制信息的示意流程:
另外,在对一类的资源信息配置了相应的初始权限控制信息之后,还可以在初始的权限控制信息中,针对该初始权限控制信息中的角色增加其他类的资源信息的附加权限控制信息,或者针对该其他类的资源信息中的一项资源信息增加新的角色对应该项资源信息的访问权限规则(或附加权限控制信息)。
例如,初始权限控制信息为具有管理者admin角色的账户可以访问权限管理和角色管理的对应的所有接口,针对新增加的账户管理accountManager角色可以访问用户管理对应的资源模块,其他不具备上述角色的账户只能访问查询用户信息对应的接口。相应的,可以为一些账户设置管理者admin角色或者账户管理accountManager角色。具体的配置流程如下所示:
其中,基于上述配置的权限控制信息,还可以增加新的权限控制信息(或权限管理规则),例如系统中可以增加新的角色adminReader和accountReader,针对该新的角色,设置新的权限控制信息。如下流程所示:
另外,终端设备基于对资源信息配置的权限控制信息,以及与权限控制信息关联的角色,在接收到用户注册的账户信息后,根据该账户信息设置相应的角色,并授予该账户相应的权限。
需要说明的是,目标资源信息对应的权限控制信息中如果同时包括黑名单信息和白名单信息,若同一目标账户对应多个角色,其中一个角色为黑名单信息中的角色,其中另一个为白名单信息中的角色,那该目标账户则没有对该目标资源的访问权限,即权限控制信息中同时配置有资源里列表对应的白名单信息和黑名单信息时,黑名单信息的优先级大于白名单的优先级,从而更能确保系统资源的安全性以及实现对系统资源信息的权限控制的灵活性。
在一些实施例中,在所述配置资源列表的权限控制信息之后,所述方法包括:
更新缓存中的历史权限控制信息,并将所述权限控制信息存储至文件存储系统中。
如图3所示,本申请实施例提供的设置权限控制信息的流程示意图。在针对资源信息配置了新的权限控制信息后,更新缓存中相同资源信息对应的历史权限控制信息,并且在目标账户访问配置了新的权限控制信息的资源信息后,根据新的权限控制信息的验证结果更新缓存中的该账户对应该资源信息的历史验证结果。最后将资源信息对应的新配置的权限控制信息持久化地存储在对应的文件存储系统中,可以在与角色进行绑定的账户访问相应的资源信息时,调用该文件存储系统中的权限控制信息,对该账户的访问权限进行验证,以控制账户对资源信息的访问权限。
在一些实施例中,在所述配置资源列表的权限控制信息及目标账户对应的角色之后,所述方法还包括:
接收开启所述权限控制功能的指令;根据所述指令,开启所述权限控制功能,并在接收访问请求的接口处添加验证权限的拦截器。
如图4所示,本申请实施例提供开启权限管理的流程示意图。终端设备针对整个系统的权限控制或权限管理功能设置有总的开关。当该开关关闭时,整个系统针对访问的账户无权限的控制或验证,系统中的服务也可以正常运行;当该开关开启时,接收到网络内账户的访问请求时,根据该账户的角色以及该角色关联的权限控制信息,对该账户进行权限的验证。
示例性的,终端设备接收用户输入的开启系统的权限控制功能的指令,执行该指令,开启整个系统的权限控制功能,并在系统接收访问请求的入口处添加拦截器,通过该拦截器对账户的访问请求进行逐步的验证。
通过上述方式,在系统中存在由于用户的误操作使得某些资源信息无法被访问时,可以系统提供的接口接收用户输入的关闭权限控制功能的指令,关闭系统的权限控制功能,重新接收用户输入的配置信息,根据配置信息重新配置好资源信息对应的新的权限控制信息后,接收用户输入的开启权限控制功能的指令,打开系统的权限控制功能,从而无需停掉运行中的服务并对系统进行重启,功能开启后系统服务可继续运行。
S202,获取所述目标账户针对所述至少一项或者至少一类资源信息中的目标资源信息发起的访问请求。
在一些实施例中,目标账户可以为绑定了角色的账户,一个目标账户可以对应一个或多个角色。或者目标账户无对应的角色,只能访问权限控制信息中规定任何人都可以访问的资源信息,针对其他资源信息发起的访问请求则后续可能无法通过验证。终端设备可以获取用户基于注册的目标账户发起的访问请求。终端设备基于设置的接收访问入口处的拦截器,对该目标账户的访问请求进行权限的验证。
示例性的,若目标资源信息为查询用户信息getUserInfo,则该目标资源信息属于查询get*这一类的资源信息。
S203,若权限控制功能开启,则根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证。
如图5所示,本申请实施例提供权限验证的流程示意图。根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证,包括:
终端设备接收到访问请求后,检查是否开启了权限控制功能,若权限控制功能未开启,则直接通过所述权限验证;若权限控制功能已开启,则检查缓存中是否存有与本次访问请求相同的访问请求的历史验证结果。
若缓存中有所述历史验证结果,所述历史验证结果为验证通过,则此次验证通过,若所述历史验证结果为验证未通过,则此次验证不通过;若缓存中无历史验证结果,则获取目标资源信息对应的目标权限控制信息。
若缓存中无所述历史验证结果,且未获取到目标资源信息对应的目标权限控制信息,则验证通过,并将本次验证结果存储至缓存中。
若获取到目标资源信息对应的目标权限控制信息,读取目标账户对应的角色,并判断目标账户对应的角色是否为目标权限控制信息中的黑名单信息里的角色。
若目标账户对应的角色为黑名单信息中的角色,则验证不通过,并将本次验证结果存储至缓存中;若目标账户对应的角色非黑名单信息中的角色,则判断目标权限控制信息中的所有人访问权限信息是否为真。
若所有人访问权限信息为真,则验证通过,并将本次验证结果存储至缓存中;若所有人访问权限信息非真,则判断目标账户对应的角色是否为目标权限控制信息中的白名单信息里的角色。
若目标账户对应的角色为白名单信息中的角色,则验证通过,并将此次的验证结果存储至缓存中;若目标账户对应的角色非白名单信息中的角色,则验证不通过,并将此次的验证结果存储至缓存中。
在一些实施例中,获取目标资源信息对应的所述目标权限控制信息,包括:
将所述权限控制信息中的资源信息与所述访问请求对应的目标资源信息进行匹配;若所述权限控制信息中的资源信息与所述访问请求对应的目标资源信息相匹配,则将所述权限控制信息作为所述目标权限控制信息。
示例性的,终端设备便利文件存储系统中的权限控制信息(或权限管理规则),将权限控制信息中的资源信息与访问的目标资源信息进行匹配,如果匹配,则确定与目标资源信息匹配的资源信息所对应的权限控制信息为目标权限控制信息。
其中,所述权限控制信息对应的目标资源与所述访问请求对应的目标资源相匹配的情况,包括:
所述权限控制信息对应的资源信息与所述访问请求对应的目标资源信息相同;或者,所述权限控制信息对应的资源信息为多个,所述访问请求对应的目标资源信息与多个所述资源信息中的一个资源信息相同;或者,所述权限控制信息对应的资源资源为一类资源信息,所述访问请求对应的目标资源信息属于所述一类资源信息;或者,所述权限控制信息对应的资源信息为多类资源信息或多种资源信息,所述访问请求对应的目标资源信息符合所述多类资源信息中的一类或与所述多种资源信息的一种相同。
示例性的,权限控制信息的资源列表中管理的查询get*这一类的资源信息,要访问的目标资源信息为查询用户信息getUserInfo,此时要访问的目标资源信息符合权限控制信息的资源列表中管理的查询get*类的资源信息,将该查询get*类的资源信息对应的权限控制信息作为目标权限控制信息。
需要说明的是,当存在多个权限控制信息(权限管理规则)的资源信息与访问的目标资源信息相匹配时,可以基于目标账户的角色选择其中一个权限控制信息的方式对该目标账户进行权限验证;或者,选择其中任何一个权限控制信息的方式对该目标账户进行权限验证。
在一些实施例中,所述目标账户对应的角色为所述黑名单信息中的角色,包括:
所述黑名单信息中的角色为一个角色名称,所述目标账户对应的角色中的至少一个角色名称为所述黑名单信息中的角色名称;或者,所述黑名单信息中的角色为一类角色,所述目标账户对应的角色中的至少一个角色属于所述黑名单信息中的一类角色;或者,所述黑名单信息中的角色为多类角色或多个角色名称,所述目标账户对应的角色中的至少一个角色属于所述黑名单信息中的多类角色中的一类角色或为所述黑名单信息中的多个角色名称中的一个。
示例性的,若黑名单信息中的角色为通过通配符表示的账户类角色account*,而发起访问请求的目标账户对应有账户读取角色accountReader,则该目标账户对应的角色属于黑名单信息中的该账户类角色account*。
在一些实施例中,所述目标账户对应的角色为所述白名单信息中的角色,包括:
所述白名单信息中的角色为一个角色名称,所述目标账户对应的角色中的一个角色名称为所述白名单信息中的角色名称;或者,所述白名单信息中的角色为一类角色,所述目标账户对应的角色中的至少一个角色属于所述白名单信息中的一类角色;或者,所述白名单信息中的角色为多类角色或多个角色名称,所述目标账户对应的角色中的至少一个角色属于所述白名单信息中的多类角色中的一类角色或为所述白名单信息中的多个角色名称中的一个。
示例性的,若白名单信息中的角色为通过通配符表示的账户类的角色account*,而发起访问请求的目标账户对应有账户读取角色accountReader,则该目标账户对应的角色属于该白名单信息中的该账户类角色account*。
通过本申请实施例,对权限管理的规则以及管理的资源信息的配置更加灵活,可以对任一接口或其他资源信息进行权限控制,实现自定义的权限管理方式;而且配置过程简洁,对有规律或一系列的资源信息,可以通过通配符表示并进行匹配管理;同时当由于用户误操作使得某些资源信息无法被访问时,还可以通过提供的接口关闭权限控制功能,然后重新配置好新的权限控制信息后,再开启权限控制功能,而无需停掉系统正在运行的服务并重启;提高了权限控制过程中操作的便捷性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的权限控制方法,图6示出了本申请实施例提供的权限控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该装置包括:
配置单元61,用于配置资源列表的权限控制信息及目标账户对应的角色,所述权限控制信息与所述角色相关联,所述资源列表中包括至少一项或者至少一类资源信息;
获取单元62,用于获取所述目标账户针对所述至少一项或者至少一类资源信息中的目标资源信息发起的访问请求;
验证单元63,用于若权限控制功能开启,则根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证;
其中,所述权限控制信息包括所述目标权限控制信息。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
图7为本申请一实施例提供的终端设备7的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述实施例中的步骤。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备7可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (12)
1.一种权限控制方法,其特征在于,所述方法包括:
配置资源列表的权限控制信息及目标账户对应的角色,所述权限控制信息与所述角色相关联,所述资源列表中包括至少一项或者至少一类资源信息;
获取所述目标账户针对所述至少一项或者至少一类资源信息中的目标资源信息发起的访问请求;
若权限控制功能开启,则根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证;
其中,所述权限控制信息包括所述目标权限控制信息。
2.如权利要求1所述的方法,其特征在于,所述配置资源列表的权限控制信息,包括:
使用通配符表示所述资源列表中的所述至少一类目标资源;
配置所述资源列表对应的黑名单信息、所有人访问权限信息和白名单信息中的一种或多种信息;
其中,所述权限控制信息包括所述黑名单信息、所述所有人访问权限信息和所述白名单信息中的一种或多种;所述黑名单信息的优先级高于所述白名单信息。
3.如权利要求1所述的方法,其特征在于,在所述配置资源列表的权限控制信息之后,所述方法包括:
更新缓存中的历史权限控制信息,并将所述权限控制信息存储至文件存储系统中。
4.如权利要求1所述的方法,其特征在于,在所述配置资源列表的权限控制信息及目标账户对应的角色之后,所述方法还包括:
接收开启所述权限控制功能的指令;
根据所述指令,开启所述权限控制功能,并在接收访问请求的接口处添加验证权限的拦截器。
5.如权利要求2所述的方法,其特征在于,所述根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证,包括:
若所述权限控制功能已开启,则检查缓存中是否存有所述访问请求的历史验证结果;
若缓存中无所述历史验证结果,则获取所述目标资源信息对应的所述目标权限控制信息;
读取所述目标账户对应的角色,并判断所述目标账户对应的角色是否为所述目标权限控制信息中的黑名单信息里的角色;
若所述目标账户对应的角色非所述黑名单信息中的角色,则判断所述目标权限控制信息中的所有人访问权限信息是否为真;
若所述所有人访问权限信息非真,则判断所述目标账户对应的角色是否为所述目标权限控制信息中的白名单信息里的角色;
若所述目标账户对应的角色为所述白名单信息中的角色,则验证通过,并将此次的验证结果存储至缓存中;
若所述目标账户对应的角色非所述白名单信息中的角色,则验证不通过,并将此次的验证结果存储至缓存中。
6.如权利要求5所述的方法,其特征在于,所述获取所述目标资源信息对应的所述目标权限控制信息,包括:
将所述权限控制信息中的资源信息与所述访问请求对应的目标资源信息进行匹配;
若所述权限控制信息中的资源信息与所述访问请求对应的目标资源信息相匹配,则将所述权限控制信息作为所述目标权限控制信息。
7.如权利要求6所述的方法,其特征在于,所述权限控制信息对应的目标资源与所述访问请求对应的目标资源相匹配,包括:
所述权限控制信息对应的资源信息与所述访问请求对应的目标资源信息相同;
或者,所述权限控制信息对应的资源信息为多个,所述访问请求对应的目标资源信息与多个所述资源信息中的一个资源信息相同;
或者,所述权限控制信息对应的资源资源为一类资源信息,所述访问请求对应的目标资源信息属于所述一类资源信息;
或者,所述权限控制信息对应的资源信息为多类资源信息或多种资源信息,所述访问请求对应的目标资源信息符合所述多类资源信息中的一类或与所述多种资源信息的一种相同。
8.如权利要求5所述的方法,其特征在于,所述方法还包括:
若所述权限控制功能未开启,则通过所述权限验证;
若缓存中有所述历史验证结果,所述历史验证结果为验证通过,则此次验证通过;若所述历史验证结果为验证未通过,则此次验证不通过;
相应的,若缓存中无所述历史验证结果,且未获取到所述目标资源信息对应的所述目标权限控制信息,则验证通过,并将本次验证结果存储至缓存中;
若所述目标账户对应的角色为所述黑名单信息中的角色,则验证不通过,并将本次验证结果存储至缓存中;
若所述所有人访问权限信息为真,则验证通过,并将本次验证结果存储至缓存中。
9.如权利要求8所述的方法,其特征在于,所述目标账户对应的角色为所述黑名单信息中的角色,包括:
所述黑名单信息中的角色为一个角色名称,所述目标账户对应的角色中的至少一个角色名称为所述黑名单信息中的角色名称;
或者,所述黑名单信息中的角色为一类角色,所述目标账户对应的角色中的至少一个角色属于所述黑名单信息中的一类角色;
或者,所述黑名单信息中的角色为多类角色或多个角色名称,所述目标账户对应的角色中的至少一个角色属于所述黑名单信息中的多类角色中的一类角色或为所述黑名单信息中的多个角色名称中的一个。
10.如权利要求5所述的方法,其特征在于,所述目标账户对应的角色为所述白名单信息中的角色,包括:
所述白名单信息中的角色为一个角色名称,所述目标账户对应的角色中的一个角色名称为所述白名单信息中的角色名称;
或者,所述白名单信息中的角色为一类角色,所述目标账户对应的角色中的至少一个角色属于所述白名单信息中的一类角色;
或者,所述白名单信息中的角色为多类角色或多个角色名称,所述目标账户对应的角色中的至少一个角色属于所述白名单信息中的多类角色中的一类角色或为所述白名单信息中的多个角色名称中的一个。
11.一种权限控制装置,其特征在于,所述装置包括:
配置单元,用于配置资源列表的权限控制信息及目标账户对应的角色,所述权限控制信息与所述角色相关联,所述资源列表中包括至少一项或者至少一类资源信息;
获取单元,用于获取所述目标账户针对所述至少一项或者至少一类资源信息中的目标资源信息发起的访问请求;
验证单元,用于若权限控制功能开启,则根据所述访问请求、所述目标账户对应的角色,按照所述目标资源信息对应的目标权限控制信息对所述目标账户进行权限验证;
其中,所述权限控制信息包括所述目标权限控制信息。
12.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111462466.XA CN114239009A (zh) | 2021-12-02 | 2021-12-02 | 权限控制方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111462466.XA CN114239009A (zh) | 2021-12-02 | 2021-12-02 | 权限控制方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239009A true CN114239009A (zh) | 2022-03-25 |
Family
ID=80752802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111462466.XA Pending CN114239009A (zh) | 2021-12-02 | 2021-12-02 | 权限控制方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239009A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118697A (zh) * | 2022-06-27 | 2022-09-27 | 北京爱奇艺科技有限公司 | 一种资源访问权限激活方法和装置 |
CN115174174A (zh) * | 2022-06-24 | 2022-10-11 | 百融至信(北京)征信有限公司 | 控制电子管理平台的方法和装置 |
CN115906187A (zh) * | 2023-02-22 | 2023-04-04 | 山东经伟晟睿数据技术有限公司 | 一种功能权限与接口权限结合的用户权限控制方法及系统 |
-
2021
- 2021-12-02 CN CN202111462466.XA patent/CN114239009A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174174A (zh) * | 2022-06-24 | 2022-10-11 | 百融至信(北京)征信有限公司 | 控制电子管理平台的方法和装置 |
CN115174174B (zh) * | 2022-06-24 | 2024-04-12 | 百融至信(北京)科技有限公司 | 控制电子管理平台的方法和装置 |
CN115118697A (zh) * | 2022-06-27 | 2022-09-27 | 北京爱奇艺科技有限公司 | 一种资源访问权限激活方法和装置 |
CN115118697B (zh) * | 2022-06-27 | 2024-04-26 | 北京爱奇艺科技有限公司 | 一种资源访问权限激活方法和装置 |
CN115906187A (zh) * | 2023-02-22 | 2023-04-04 | 山东经伟晟睿数据技术有限公司 | 一种功能权限与接口权限结合的用户权限控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114239009A (zh) | 权限控制方法、装置及终端设备 | |
US10735472B2 (en) | Container authorization policies for network trust | |
CN109889517B (zh) | 数据处理方法、权限数据集创建方法、装置及电子设备 | |
US11089013B2 (en) | Enhanced password authentication across multiple systems and user identifications | |
US20120167167A1 (en) | Enabling granular discretionary access control for data stored in a cloud computing environment | |
US11553000B2 (en) | Systems and methods for using namespaces to access computing resources | |
US20160048688A1 (en) | Restricting System Calls using Protected Storage | |
US20170213023A1 (en) | Application Trust Listing Service | |
WO2010138109A1 (en) | System and method for performing a management operation | |
JP2019518285A (ja) | 情報セキュリティを強化する方法及び端末 | |
CN111247521A (zh) | 将多用户设备远程锁定为用户集合 | |
US11444950B2 (en) | Automated verification of authenticated users accessing a physical resource | |
US10158623B2 (en) | Data theft deterrence | |
CN107566375B (zh) | 访问控制方法和装置 | |
CN117421715A (zh) | 权限管理方法、装置、电子设备及存储介质 | |
US9846790B2 (en) | Method for changing an operating mode of a mobile device | |
CN111027031A (zh) | 基于Shiro的权限管理方法、装置及计算机设备 | |
CN111310166A (zh) | 权限管理方法、装置、设备及存储介质 | |
US20200257785A1 (en) | User authentication | |
US12028349B2 (en) | Protecting physical locations with continuous multi-factor authentication systems | |
CN113626837A (zh) | 一种参数管理方法、设备及计算机可读存储介质 | |
KR100657353B1 (ko) | 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체 | |
CN110867001A (zh) | 智能锁控制方法及终端设备 | |
CN112491893B (zh) | 区块链的终端设备入网方法、装置、服务器及存储介质 | |
CN118606966A (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 |