CN112149070A - 权限控制方法及装置 - Google Patents

权限控制方法及装置 Download PDF

Info

Publication number
CN112149070A
CN112149070A CN201910566043.9A CN201910566043A CN112149070A CN 112149070 A CN112149070 A CN 112149070A CN 201910566043 A CN201910566043 A CN 201910566043A CN 112149070 A CN112149070 A CN 112149070A
Authority
CN
China
Prior art keywords
priority
authority
operated
user
operation type
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.)
Granted
Application number
CN201910566043.9A
Other languages
English (en)
Other versions
CN112149070B (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910566043.9A priority Critical patent/CN112149070B/zh
Publication of CN112149070A publication Critical patent/CN112149070A/zh
Application granted granted Critical
Publication of CN112149070B publication Critical patent/CN112149070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种权限控制方法,方法包括:获取操作用户的用户信息、待操作对象和所需的操作类型;确定对待操作对象进行所述操作类型的权限优先级;从数据权限表中查找到操作用户对待操作对象所拥有的最高权限优先级;若权限优先级低于最高权限优先级,则对待操作对象执行所述操作类型对应的操作。由于表中存储的是用户对操作对象拥有的最高权限优先级,只要用户所需的权限优先级低于表中存储的最高权限优先级,就能执行相关操作,无需与拥有的所有操作类型一一比对,因此可提升查询速度。通过在表中存储最高权限优先级方式,无需存储所有操作类型,不仅可减少表中的存储内容,还可避免出现因权限分配不符合使用逻辑而导致用户无法正常使用的情况。

Description

权限控制方法及装置
技术领域
本申请涉及数据库技术领域,尤其涉及一种权限控制方法及装置。
背景技术
对于数据库而言,无论是关系型数据库还是非关系型数据库,保证数据安全是最重要的问题。在数据库中,为每个用户分配对应的权限,可以保证数据隔离,防止数据被破坏,进而确保数据安全。
目前,通过在权限关系表中存储每个用户有权操作的数据库名/数据库表名/数据库表中的列、操作权限(如插入、删除等),当接收到用户的操作请求时,在权限关系表中查找用户要操作的数据库表名,若查找到,再在权限关系表中将用户需要的操作与查找到的数据库表名对应的操作权限进行一一比对,如果操作权限中有该操作,则对查找到的数据库表名对应的数据表执行该操作。然而,这种需要与每个操作权限一一比对的查询方式,会影响查询速度。
发明内容
有鉴于此,本申请提供一种权限控制方法及装置,以解决操作速度慢的问题。
根据本申请实施例的第一方面,提供一种权限控制方法,所述方法包括:
获取操作用户的用户信息、待操作对象和所需的操作类型;
确定对所述待操作对象进行所述操作类型的权限优先级;
从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,所述数据权限表中记录有用户信息、操作对象和最高权限优先级的对应关系;
若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
根据本申请实施例的第二方面,提供一种权限控制装置,所述装置包括:
获取模块,用于获取操作用户的用户信息、待操作对象和所需的操作类型;
确定模块,用于确定对所述待操作对象进行所述操作类型的权限优先级;
查找模块,用于从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,所述数据权限表中记录有用户信息、操作对象和最高权限优先级的对应关系;
控制模块,用于若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
根据本申请实施例的第三方面,提供一种电子设备,所述设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述第一方面所述方法的步骤。
应用本申请实施例,在获取到操作用户的用户信息、待操作对象和所需的操作类型时,通过确定对所述待操作对象进行所述操作类型的权限优先级,并从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
基于上述描述可知,由于数据权限表中存储的是用户对操作对象拥有的最高权限优先级,只要用户对操作对象所需的操作类型的权限优先级低于数据权限表存储的最高权限优先级,就能执行相关操作,无需与用户对操作对象拥有的所有操作类型进行一一比对,因此可以提升用户的查询速度。另外,通过在表中存储用户对操作对象拥有的最高权限优先级方式,无需为用户存储拥有的所有操作类型,不仅减少了表中的存储内容,还可以避免出现因权限分配不符合使用逻辑而导致用户无法正常使用的情况。
附图说明
图1为本申请根据一示例性实施例示出的一种权限控制方法的实施例流程图;
图2为本申请根据一示例性实施例示出的一种电子设备的硬件结构图;
图3为本申请根据一示例性实施例示出的一种权限控制装置的实施例结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,通过在权限关系表中存储每个用户有权操作的数据库名/数据库表名/数据库表中的列、操作权限的方式,除了查询速度慢之外,当权限关系表中用户权限分配不合理时,会导致用户无法进行相关操作。例如,如果只给用户分配了写的权限,并没有分配读的权限,因为拥有写权限的用户肯定拥有读权限,导致用户无法查看自己写入的内容,这是不符合数据库的使用逻辑的。
同时,通常在一个数据库中包含很多的表,且每个表可以有很多的操作类型,而用户对于数据库中的每个表拥有的操作权限又不尽相同,因此在权限关系表中需要为该用户存储每个有权操作的数据库表的所有操作权限,从而权限关系表中需要存储的内容也比较多,不仅占用比较多的存储空间,而且数据表太大也会影响用户的查询速度。
为解决上述问题,本申请提出一种权限控制方法,在获取到操作用户的用户信息、待操作对象和所需的操作类型时,通过确定对所述待操作对象进行所述操作类型的权限优先级,并从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
基于上述描述可知,由于数据权限表中存储的是用户对操作对象拥有的最高权限优先级,只要用户对操作对象所需的操作类型的权限优先级低于数据权限表存储的最高权限优先级,就能执行相关操作,无需与用户对操作对象拥有的所有操作类型进行一一比对,因此可以提升用户的查询速度。另外,通过在表中存储用户对操作对象拥有的最高权限优先级方式,无需为用户存储拥有的所有操作类型,不仅减少了表中的存储内容,还可以避免出现因权限分配不符合使用逻辑而导致用户无法正常使用的情况。
图1为本申请根据一示例性实施例示出的一种权限控制方法的实施例流程图,所述权限控制方法可以应用在电子设备(如数据库服务器)上,本申请实施例中的权限控制可以是对来自客户端侧的操作请求的权限进行管理控制,以保证数据库数据的安全性。
如图1所示,所述权限控制方法包括如下步骤:
步骤101:获取操作用户的用户信息、待操作对象和所需的操作类型。
在一实施例中,可以通过接收来自客户端侧的操作请求,并解析操作请求,获取操作用户的用户信息、待操作对象和所需的操作类型。
其中,用户信息至少包括用户名和密码,当然还可以包括用户ID、要访问的组件类型、客户端侧的主机IP地址等信息。组件类型包括mysql、sparksql等。接收到的操作请求会携带基于某种操作语言的操作语句,可以通过解析器解析该操作语句,以获取待操作对象和所需的操作类型。
其中,操作语句的解析器通常包括词法解析模块、句法解析模块以及解析树模块。
操作对象可以是数据库、数据库表、数据库表中的列,操作类型可以是创建(Create)、删除(Delete)、插入(Insert)、更新(Update)、查询(Select)。因此获取的待操作对象可以是数据库名、数据库表名、数据库表中的列的标识中的任一对象,所需的操作类型可以是创建、删除、插入、更新、查询中的任一操作类型。
以操作请求为sql请求为例,其携带的是sql语句为:insert into表A values('a1','a2','a3','a4',),通过解析器解析该语句,可以获得待操作对象为数据库表A,所需的操作类型为插入。
在一实施例中,在接收操作请求之前,可以先接收来自客户端侧的连接请求,并利用连接请求携带的用户信息查找已存储的认证用户的用户信息,若查找到,则与该客户端建立起连接,若未查找到,则拒绝与该客户端建立连接。
其中,已存储的认证用户的用户信息所对应的客户端为允许与本设备建立连接进行相关操作的客户端。这些认证用户的用户信息可以以表的形式存储,在进行认证时,通过查表实现认证。
基于此,在获取到操作用户的用户信息时,还可以对操作用户进行认证,认证过程可以是:在已存储的认证用户的用户信息中查找操作用户的用户信息;若查找到,则表示认证通过,执行步骤102,若未查找到,则表示认证未通过,结束当前流程。
步骤102:确定对所述待操作对象进行所述操作类型的权限优先级。
在执行步骤102之前,权限管理可以简单表述成判断“who对what(或which)进行how的操作”的逻辑表达式是否为真,权限管理中通常会涉及到权限的拥有者或者主体、角色、权限针对的资源以及对资源的操作,因此权限管理是一个极其复杂的问题,在保证用户操作性能的前提下,为了让权限管理从角色、对资源的操作等复杂的管理中脱离出来,使其简单化、直观化,通过预先建立一套符合使用逻辑的操作对象的优先级规则和操作类型的优先级规则。
在一实施例中,实际的使用逻辑是:如果用户有对某个数据库进行操作的权限,那么对该数据库中的所有数据库表都有操作权限,进而对数据库表中的列也都有操作权限,因此数据库的优先级最高,数据库表中的列的优先级最低。如果用户对某个对象有创建表的权限,那么对该对象也应该有删除、插入、更新、查询的权限,以此类推,优先级最低的权限应该是查询,即用户只有查询读取的权限,不能进行任何的其他操作。
基于此,预先建立的操作对象的优先级规则中优先级由高到低的排列顺序可以是数据库、数据库表、数据库表中的列;操作类型的优先级规则中优先级由高到低的排列顺序可以是创建、删除、插入、更新、查询。
示例性的,对于操作对象的优先级由高到低的排列顺序,可以用0、1、2的数值顺序表示,即数据库的优先级的数值是0、数据库表的优先级的数值是1、数据库表中的列的优先级的数值是2;对于操作类型的优先级由高到低的排列顺序,可以用0、1、2、3、4的数值顺序表示,数值越大,优先级越低;当然表示的数值顺序也可以反过来,数值越大,优先级越高,本申请对表示优先级的数值不进行限定。
基于上述描述,针对步骤102的过程,可以依据预设的操作对象的优先级规则,确定所述待操作对象的优先级,同时依据预设的操作类型的优先级规则,确定所述操作类型的优先级,然后利用所述待操作对象的优先级和所述操作类型的优先级,确定对所述待操作对象进行所述操作类型的权限优先级。
示例性的,可以通过对待操作对象的优先级和所述操作类型的优先级进行合并,以确定出对所述待操作对象进行所述操作类型的权限优先级。
合并方式既可以是待操作对象在前操作类型在后,也可以是操作类型在前待操作对象在后,本申请对此不进行限定。
假设操作对象的优先级规则中优先级由高到低的数值顺序为0、1、2,操作类型的优先级规则中优先级由高到低的数值顺序为0、1、2、3、4,且待操作对象为TESTDATABASE数据库中的test_table表,所需的操作类型为查询,由此可得,待操作对象的优先级为1,所需的操作类型的优先级为4,如果合并方式为待操作对象在前操作类型在后,则获得对test_table表进行查询的权限优先级为14。
步骤103:从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级。
基于上述步骤102中所述,本设备预先建立有操作对象的优先级规则和操作类型的优先级规则,因此在执行步骤103之前,为用户分配相关权限,预先建立数据权限表,并在数据权限表中存储用户对操作对象拥有的最高权限优先级,而不是用户对操作对象所拥有的操作类型。
数据权限表的建立过程可以是:接收权限分配请求,获取所述权限分配请求携带的用户信息、操作对象以及对该操作对象可进行的至少一个操作类型,并依据预设的操作对象的优先级规则,确定该操作对象的优先级,同时依据预设的操作类型的优先级规则,确定各个操作类型的优先级,并从各个操作类型的优先级中选取最高优先级,然后利用该操作对象的优先级和选取的最高优先级,确定该用户信息所指示的用户对该操作对象所拥有的最高权限优先级,并将该用户信息、该操作对象以及该最高权限优先级添加至数据权限表中。
其中,建立数据权限表中的最高优先级确定方式也可以采用上述步骤102中所述的合并方式确定。
如表1所示,为一种示例性的本申请的权限数据表,如表2所示,为一种示例性的现有的权限关系表,由表1与表2对比发现,表1中需要存储用户对操作对象拥有的所有操作类型,表1中的“IUS”表示的是插入(Insert)、更新(Update)、操作(Select),为了减少对存储空间的占用,用每种操作类型的首字母表示,在进行操作类型比对时,再进行字节划分和转换。而表2中只存储用户对操作对象拥有的最高权限优先级,因此表2比表1需要存储的内容少,占用存储空间少,进而减轻了对用户查询速度的影响。
用户 操作对象 操作类型
test TESTDATABASE数据库中的test_table表 IUS
表1
用户 操作对象 最高权限优先级数值
test TESTDATABASE数据库中的test_table表 12
表2
在一可选实施方式中,数据权限表中还可以存储组件名,在接收到权限分配请求时,根据其携带的组件名(操作对象所属的组件),将操作对象和最高权限优先级对应该组件名存储。
示例性的,假设操作对象的优先级规则中优先级由高到低的数值顺序为0、1、2,操作类型的优先级规则中优先级由高到低的数值顺序为0、1、2、3、4,如果为用户test分配对mysql组件中的数据库TESTDATABASE中表test_table表可进行插入、更新以及查询,可以确定操作对象数据库TESTDATABASE中表test_table的优先级的数值为1,操作类型为插入的优先级的数值为2,操作类型为更新的优先级的数值为3,操作类型为查询的优先级的数值为4,这三个子优先级中最高的优先级的数值为2,如果合并方式为操作对象在前操作类型在后,则合并得到的用户test对数据库TESTDATABASE中表test_table拥有的最高权限优先级的数值为12。
在一实施例中,数据权限表中存储的始终是用户对操作对象所拥有的最高权限优先级,即使为用户重新分配权限时,只需要更新最高权限优先级即可。在确定出用户对操作对象进行重新分配的操作类型的权限优先级,若该权限优先级高于数据权限表中记录的该用户对该操作对象所拥有的最高权限优先级,则利用该权限优先级更新数据权限表中记录的该用户对该操作对象所拥有的最高权限优先级。
示例性的,如上述表2中存储的用户test对数据库TESTDATABASE中表test_table拥有的最高权限优先级的数值为12,如果后续给用户test对数据库TESTDATABASE中所有表分配了删除的权限,对数据库TESTDATABASE中所有表进行删除的权限优先级数值为01,由于01小于12,因此需要将表2中记录的用户test对数据库TESTDATABASE中表test_table拥有的最高权限优先级的数值12更新为01,同时还需要将表2中的“TESTDATABASE数据库中的test_table表”更新为TESTDATABASE数据库,表示用户test对数据库TESTDATABASE中所有表拥有的最高权限优先级数值为01。
步骤104:若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
步骤105:若所述权限优先级高于最高权限优先级,则对所述待操作对象不执行所述操作类型对应的操作。
针对步骤104和步骤105的过程,通过将查找到的最高权限优先级与确定的对待操作对象进行所需的操作类型的权限优先级进行比较,若所述权限优先级低于最高权限优先级,则表示鉴权成功,拥有权限,可以对待操作对象执行所需的操作类型,若所述权限优先级高于最高权限优先级,则表示鉴权失败,不能对待操作对象执行所需的操作类型。
下面以用户test需要对数据库TESTDATABASE中表test_table进行查询(Select)操作为例,将本申请与现有技术进行相比:
现有技术中,如上述表1所示的权限关系表,在查找到用户test和TESTDATABASE数据库中的test_table表对应的操作类型“IUS”时,还需要将“IUS”转换成字节(I,U,S),并将所需的查询操作“Select”转换为S,然后用“S”与(I,U,S)进行一一比对,只有比对一致时,鉴权成功,鉴权速度慢。
本申请中,确定对数据库TESTDATABASE中表test_table进行查询的权限优先级数值为14,如上述表2所示的数据权限表,在查找到用户test对TESTDATABASE数据库中的test_table表所拥有的最高权限优先级12时,将14与12进行比较,由于权限优先级低于最高权限优先级(14大于12),鉴权成功,鉴权速度快。
在本申请实施例中,在获取到操作用户的用户信息、待操作对象和所需的操作类型时,通过确定对所述待操作对象进行所述操作类型的权限优先级,并从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
基于上述描述可知,由于数据权限表中存储的是用户对操作对象拥有的最高权限优先级,只要用户对操作对象所需的操作类型的权限优先级低于数据权限表存储的最高权限优先级,就能执行相关操作,无需与用户对操作对象拥有的所有操作类型进行一一比对,因此可以提升用户的查询速度。另外,通过在表中存储用户对操作对象拥有的最高权限优先级方式,无需为用户存储拥有的所有操作类型,不仅减少了表中的存储内容,还可以避免出现因权限分配不符合使用逻辑而导致用户无法正常使用的情况。
图2为本申请根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口201、处理器202、机器可读存储介质203和总线204;其中,通信接口201、处理器202和机器可读存储介质203通过总线204完成相互间的通信。处理器202通过读取并执行机器可读存储介质203中与权限控制方法的控制逻辑对应的机器可执行指令,可执行上文描述的权限控制方法,该方法的具体内容参见上述实施例,此处不再累述。
本申请中提到的机器可读存储介质203可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质203可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
图3为本申请根据一示例性实施例示出的一种权限控制装置的实施例结构图,所述权限控制装置可以应用于电子设备上,如图3所示,所述权限控制装置包括:
获取模块310,用于获取操作用户的用户信息、待操作对象和所需的操作类型;
确定模块320,用于确定对所述待操作对象进行所述操作类型的权限优先级;
查找模块330,用于从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,所述数据权限表中记录有用户信息、操作对象和最高权限优先级的对应关系;
控制模块340,用于若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
在一可选实现方式中,所述确定模块320,具体用于依据预设的操作对象的优先级规则,确定所述待操作对象的优先级;依据预设的操作类型的优先级规则,确定所述操作类型的优先级;利用所述待操作对象的优先级和所述操作类型的优先级,确定对所述待操作对象进行所述操作类型的权限优先级。
在一可选实现方式中,所述装置还包括(图3中未示出):
权限表建立模块,用于接收权限分配请求,并获取所述权限分配请求携带的用户信息、操作对象以及对该操作对象可进行的至少一个操作类型;依据预设的操作对象的优先级规则,确定该操作对象的优先级;依据预设的操作类型的优先级规则,确定各个操作类型的优先级,并从各个操作类型的优先级中选取最高的优先级;利用该操作对象的优先级和选取的最高的优先级,确定该用户信息所指示的用户对该操作对象所拥有的最高权限优先级;将该用户信息、该操作对象以及该最高权限优先级添加至数据权限表中。
在一可选实现方式中,所述操作对象的优先级规则中优先级由高到低的排列顺序为数据库、数据库表、数据库表中的列;所述操作类型的优先级规则中优先级由高到低的排列顺序为创建、删除、插入、更新、查询。
在一可选实现方式中,所述装置还包括(图3中未示出):
认证模块,用于在所述确定模块320确定对所述待操作对象进行所述操作类型的权限优先级之前,在已存储的认证用户的用户信息中查找所述操作用户的用户信息;若查找到,则执行所述确定模块的步骤。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种权限控制方法,其特征在于,所述方法包括:
获取操作用户的用户信息、待操作对象和所需的操作类型;
确定对所述待操作对象进行所述操作类型的权限优先级;
从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,所述数据权限表中记录有用户信息、操作对象和最高权限优先级的对应关系;
若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
2.根据权利要求1所述的方法,其特征在于,确定对所述待操作对象进行所述操作类型的权限优先级,包括:
依据预设的操作对象的优先级规则,确定所述待操作对象的优先级;
依据预设的操作类型的优先级规则,确定所述操作类型的优先级;
利用所述待操作对象的优先级和所述操作类型的优先级,确定对所述待操作对象进行所述操作类型的权限优先级。
3.根据权利要求2所述的方法,其特征在于,通过如下方式建立数据权限表:
接收权限分配请求,并获取所述权限分配请求携带的用户信息、操作对象以及对该操作对象可进行的至少一个操作类型;
依据预设的操作对象的优先级规则,确定该操作对象的优先级;
依据预设的操作类型的优先级规则,确定各个操作类型的优先级,并从各个操作类型的优先级中选取最高的优先级;
利用该操作对象的优先级和选取的最高的优先级,确定该用户信息所指示的用户对该操作对象所拥有的最高权限优先级;
将该用户信息、该操作对象以及该最高权限优先级添加至数据权限表中。
4.根据权利要求2或3所述的方法,其特征在于,所述操作对象的优先级规则中优先级由高到低的排列顺序为数据库、数据库表、数据库表中的列;
所述操作类型的优先级规则中优先级由高到低的排列顺序为创建、删除、插入、更新、查询。
5.根据权利要求1所述的方法,其特征在于,在确定对所述待操作对象进行所述操作类型的权限优先级之前,所述方法还包括:
在已存储的认证用户的用户信息中查找所述操作用户的用户信息;
若查找到,则执行确定对所述待操作对象进行所述操作类型的权限优先级的步骤。
6.一种权限控制装置,其特征在于,所述装置包括:
获取模块,用于获取操作用户的用户信息、待操作对象和所需的操作类型;
确定模块,用于确定对所述待操作对象进行所述操作类型的权限优先级;
查找模块,用于从预设的数据权限表中查找到所述操作用户对所述待操作对象所拥有的最高权限优先级,所述数据权限表中记录有用户信息、操作对象和最高权限优先级的对应关系;
控制模块,用于若所述权限优先级低于最高权限优先级,则对所述待操作对象执行所述操作类型对应的操作。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于依据预设的操作对象的优先级规则,确定所述待操作对象的优先级;依据预设的操作类型的优先级规则,确定所述操作类型的优先级;利用所述待操作对象的优先级和所述操作类型的优先级,确定对所述待操作对象进行所述操作类型的权限优先级。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
权限表建立模块,用于接收权限分配请求,并获取所述权限分配请求携带的用户信息、操作对象以及对该操作对象可进行的至少一个操作类型;依据预设的操作对象的优先级规则,确定该操作对象的优先级;依据预设的操作类型的优先级规则,确定各个操作类型的优先级,并从各个操作类型的优先级中选取最高的优先级;利用该操作对象的优先级和选取的最高的优先级,确定该用户信息所指示的用户对该操作对象所拥有的最高权限优先级;将该用户信息、该操作对象以及该最高权限优先级添加至数据权限表中。
9.根据权利要求7或8所述的装置,其特征在于,所述操作对象的优先级规则中优先级由高到低的排列顺序为数据库、数据库表、数据库表中的列;所述操作类型的优先级规则中优先级由高到低的排列顺序为创建、删除、插入、更新、查询。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
认证模块,用于在所述确定模块确定对所述待操作对象进行所述操作类型的权限优先级之前,在已存储的认证用户的用户信息中查找所述操作用户的用户信息;若查找到,则执行所述确定模块的步骤。
11.一种电子设备,其特征在于,所述设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求1-5任一所述方法的步骤。
CN201910566043.9A 2019-06-27 2019-06-27 权限控制方法及装置 Active CN112149070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910566043.9A CN112149070B (zh) 2019-06-27 2019-06-27 权限控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910566043.9A CN112149070B (zh) 2019-06-27 2019-06-27 权限控制方法及装置

Publications (2)

Publication Number Publication Date
CN112149070A true CN112149070A (zh) 2020-12-29
CN112149070B CN112149070B (zh) 2024-04-23

Family

ID=73868647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910566043.9A Active CN112149070B (zh) 2019-06-27 2019-06-27 权限控制方法及装置

Country Status (1)

Country Link
CN (1) CN112149070B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800033A (zh) * 2021-03-18 2021-05-14 太平金融科技服务(上海)有限公司 数据操作请求处理方法、装置、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027122A (ja) * 1996-07-08 1998-01-27 Fuji Xerox Co Ltd データベース管理システム
US20090300017A1 (en) * 2008-06-02 2009-12-03 Hitachi, Ltd. Transaction Parallel Control Method, and Database Managemet System
US8170559B1 (en) * 2010-11-05 2012-05-01 Askey Computer Corporation Communication service handover processing system for femtocells and method thereof
JP2012146185A (ja) * 2011-01-13 2012-08-02 Ricoh Co Ltd 画像処理装置、編集方法及び編集プログラム
WO2015150792A1 (en) * 2014-03-31 2015-10-08 Perform Media Services Ltd An improved database access control method and system
WO2015150802A1 (en) * 2014-03-31 2015-10-08 Perform Media Services Ltd Distributed database access control method and system
WO2017024956A1 (zh) * 2015-08-10 2017-02-16 阿里巴巴集团控股有限公司 数据库的访问权限处理方法、装置及系统
CN109409119A (zh) * 2017-08-17 2019-03-01 北京京东尚科信息技术有限公司 数据操作方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027122A (ja) * 1996-07-08 1998-01-27 Fuji Xerox Co Ltd データベース管理システム
US20090300017A1 (en) * 2008-06-02 2009-12-03 Hitachi, Ltd. Transaction Parallel Control Method, and Database Managemet System
US8170559B1 (en) * 2010-11-05 2012-05-01 Askey Computer Corporation Communication service handover processing system for femtocells and method thereof
JP2012146185A (ja) * 2011-01-13 2012-08-02 Ricoh Co Ltd 画像処理装置、編集方法及び編集プログラム
WO2015150792A1 (en) * 2014-03-31 2015-10-08 Perform Media Services Ltd An improved database access control method and system
WO2015150802A1 (en) * 2014-03-31 2015-10-08 Perform Media Services Ltd Distributed database access control method and system
WO2017024956A1 (zh) * 2015-08-10 2017-02-16 阿里巴巴集团控股有限公司 数据库的访问权限处理方法、装置及系统
CN109409119A (zh) * 2017-08-17 2019-03-01 北京京东尚科信息技术有限公司 数据操作方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WANG CHENG, AN JIA-HUI: "A permissions management model based on RBAC", 2011 IEEE 3RD INTERNATIONAL CONFERENCE ON COMMUNICATION SOFTWARE AND NETWORKS *
谢声时,施卫华,等: "数据库对象所有者的权限管理", 华南金融电脑 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800033A (zh) * 2021-03-18 2021-05-14 太平金融科技服务(上海)有限公司 数据操作请求处理方法、装置、计算机设备和存储介质
CN112800033B (zh) * 2021-03-18 2021-06-25 太平金融科技服务(上海)有限公司 数据操作请求处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112149070B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
US6832227B2 (en) Database management program, a database managing method and an apparatus therefor
CN107239710B (zh) 一种数据库权限实现方法和系统
CN109144978B (zh) 权限管理方法及装置
US11163749B2 (en) Managing multiple locks for data set members in a data set index
CN106033461A (zh) 敏感信息的查询方法和装置
CN110968894B (zh) 一种针对游戏业务数据的细粒度访问控制方案
US7167878B2 (en) System and method for identifying and maintaining base table data blocks requiring deferred incremental integrity maintenance
CN110909373A (zh) 一种访问控制方法、设备、系统及存储介质
CN110895537A (zh) 自由查询权限控制的方法及装置
US9747328B2 (en) Method and apparatus for modifying a row in a database table to include meta-data
CN112149070A (zh) 权限控制方法及装置
CN112257097A (zh) 一种基于分布式数据库的分区权限管理方法
US11394748B2 (en) Authentication method for anonymous account and server
KR20120082176A (ko) 데이터베이스 관리 시스템의 데이터 처리 방법 및 시스템
RU2676223C1 (ru) Способ проведения разделения объектов базы данных на основе меток конфиденциальности
CN110717153B (zh) 一种权限验证方法和装置
CN105122264A (zh) 用于控制对文件系统访问的系统和方法
CN115905206A (zh) 多租户数据隔离方法、装置、设备及存储介质
JP2017534987A (ja) 単一データベースに格納された情報オブジェクトを分割する管理の方法
CN1318931C (zh) 管理计算机应用程序安全性的系统和方法
US10445289B1 (en) Method and apparatus for automatic cleanup of disfavored content
KR20160051164A (ko) 대용량 데이터 환경에서 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체
US8423532B1 (en) Managing data indexed by a search engine
CN111222146B (zh) 权限校验方法、权限校验装置、存储介质与电子设备
CN112235102B (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
GR01 Patent grant
GR01 Patent grant