The invention discloses a method and system for database access control, including: data in the privilege management system default user input on the structured query language SQL query for the preliminary analysis, which contains unresolved SQL parse tree node. Improving the information of unresolved nodes through metadata information. Compare the current user information and the data stored in the data authority management system to obtain the privilege restriction information of the current user. Combining the permissions restriction information with the perfect unresolved nodes, the filter nodes are generated. Add the filter node to the unresolved node on the SQL parse tree to generate the final SQL parse tree. Obtain the user's SQL query results based on the final SQL parse tree. Through the scheme of the invention, users can reasonably restrict the user's authority when the data is searched.
【技术实现步骤摘要】
一种数据库行权限控制方法和系统
本专利技术涉及数据安全领域,尤其涉及一种数据库行权限控制方法和系统。
技术介绍
如何有效地保证数据的安全,实现数据的保密性,对如今的数据库系统来说是至关重要的。因为数据库中存放着大量的数据,这些数据可供拥有一定职责和权力的用户共享。但是,很难严格的限制用户只能得到一些与他们权力相当的数据。目前存在的对数据做权限的限制方法粒度过于粗糙,只能在表级别或者列级别对数据的访问权限做限制。这样就造成为了限制用户数据访问,对用户应有权限的数据也做了限制。
技术实现思路
为了解决上述问题,本专利技术提出了一种数据库行权限控制方法和系统,能够使得用户进行数据查询时合理限制用户权限。为了达到上述目的,本专利技术提出了一种数据库行权限控制方法,该方法包括:在预设的数据权限管理系统中对用户输入的结构化查询语言SQL查询语句进行初步解析,获得含有未解决节点的SQL解析树。通过元数据信息完善未解决节点的信息。将当前用户信息与数据权限管理系统中预存的用户权限信息进行比较,获取当前用户的权限限制信息。将权限限制信息与完善后的未解决节点相结合生成过滤节点。将过滤节点添加到SQL解析树上的未解决节点处生成最终SQL解析树。根据最终SQL解析树获得用户的SQL查询结果。优选地,未解决节点包括:需要查询的还未得到表结构的数据表。其中,数据表包括:人员信息表。表结构包括:数据表中各个字段的信息。优选地,通过元数据信息完善未解决节点的信息包括:从元数据信息中获取查询时需要操作的数据表的表结构的信息。优选地,将权限限制信息与完善后的未解决节点相结合生成过滤节点包括:将权限 ...
【技术保护点】
一种数据库行权限控制方法,其特征在于,所述方法包括:在预设的数据权限管理系统中对用户输入的结构化查询语言SQL查询语句进行初步解析,获得含有未解决节点的SQL解析树;通过元数据信息完善所述未解决节点的信息;将当前用户信息与所述数据权限管理系统中预存的用户权限信息进行比较,获取当前用户的权限限制信息;将所述权限限制信息与完善后的所述未解决节点相结合生成过滤节点;将所述过滤节点添加到所述SQL解析树上的未解决节点处生成最终SQL解析树;根据所述最终SQL解析树获得用户的SQL查询结果。
【技术特征摘要】
1.一种数据库行权限控制方法,其特征在于,所述方法包括:在预设的数据权限管理系统中对用户输入的结构化查询语言SQL查询语句进行初步解析,获得含有未解决节点的SQL解析树;通过元数据信息完善所述未解决节点的信息;将当前用户信息与所述数据权限管理系统中预存的用户权限信息进行比较,获取当前用户的权限限制信息;将所述权限限制信息与完善后的所述未解决节点相结合生成过滤节点;将所述过滤节点添加到所述SQL解析树上的未解决节点处生成最终SQL解析树;根据所述最终SQL解析树获得用户的SQL查询结果。2.如权利要求1所述的数据库行权限控制方法,其特征在于,所述未解决节点包括:需要查询的还未得到表结构的数据表;其中,所述数据表包括:人员信息表;所述表结构包括:数据表中各个字段的信息。3.如权利要求2所述的数据库行权限控制方法,其特征在于,所述通过元数据信息完善所述未解决节点的信息包括:从所述元数据信息中获取查询时需要操作的数据表的所述表结构的信息。4.如权利要求2所述的数据库行权限控制方法,其特征在于,所述将所述权限限制信息与完善后的所述未解决节点相结合生成过滤节点包括:将所述权限限制信息与需要查询的所述数据表中的各个字段分别进行比较,生成符合所述权限限制信息的各个字段的限制范围,将所述各个字段的限制范围作为所述过滤节点。5.如权利要求1所述的数据库行权限控制方法,其特征在于,所述权限限制信息包括:姓名、年龄、通讯方式和职位。6.一种数据库行权限控制系统,其特征在于,所述系统包括:初步解析模块、完善模块、获取模块、生成模块、添加...
【专利技术属性】
技术研发人员:徐安华,李少辉,王超,冯是聪,
申请(专利权)人:北京明略软件系统有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。