数据库管理软件中数据权限的设置方法、系统以及设备技术方案

技术编号:37617069 阅读:12 留言:0更新日期:2023-05-18 12:08
一种数据库管理软件中数据权限的设置方法,包括以下步骤:创建数据权限属性,其中数据权限属性编码ID唯一;配置数据权限属性ID至功能信息层或数据字典层,其中,功能信息层的配置优先于数据字典层;以及基于角色和数据权限属性分配数据权限给登录并操作数据库管理软件的用户,控制用户可看可改的数据;针对基于数据库的管理软件,对软件操作用户的数据权限灵活设置到数据库中任意一个表字段层级,且可实现一次配置处处受控的管理目的。实现一次配置处处受控的管理目的。实现一次配置处处受控的管理目的。

【技术实现步骤摘要】
数据库管理软件中数据权限的设置方法、系统以及设备


[0001]本专利技术涉及数据库管理领域,尤其涉及一种数据库管理软件中数据权限的设置方法、系统以及设备。

技术介绍

[0002]数据库管理软件的使用用户在进入具体功能中所能看到的数据,一般都是在SQL(Structured Query Language)的SELECT查询语句中施加上WHERE条件进行过滤筛选实现的。功能中一般会有3种筛选条件,第1种是开发时直接编写在程序中的固定筛选条件,第2种是用户运行时自动加入的用户数据权限条件,第3种是用户在功能界面中自己设置的界面过滤条件。其中,第2种用户运行时自动加入的用户数据权限条件的情形下,WHERE条件中加入可看的数据权限条件时即可对用户可看数据进行管控;WHERE条件中加入可改的数据权限条件和数据主键条件,如返回记录数为0则表示当前用户对当前数据没有修改权限。
[0003]管理软件首要解决的是企业管理问题,但因企业是发展的并有个性的,所以再好的管理软件在企业应用时,基本都要进行二次开发,且企业越大,二次开发的可能和范围越大,对数据的敏感度越高管控粒度越细。目前市面上的软件,包括SAP(System Applications and Products)系统(版本ECC EHP7),针对功能中数据权限的管控,例如对哪些表中的数据要按哪些字段的哪些值为条件进行筛选,以达到用户可看和可改哪些数据的管理,一般需要由软件设计人员在软件开发之前就要考虑进去,并提交给软件开发人员在具体的软件功能中写进相应的管控代码(仅对这些事先已知要控的表字段)。这就导致在系统上线后,如果用户有对其它表字段也要进行数据权限的管控需求时,那就需要再来一遍软件开发过程,即:提交需求>代码开发>测试>上线,这个过程不仅效率低下,而且还会因代码改动带来稳定性等其它风险隐患,可谓成本非常之高。因此,在管理软件中,不管在系统的上线前还是上线后,有必要对用户数据权限进行统一的设置。

技术实现思路

[0004]本专利技术的目的之一在于提供一种数据库管理软件中数据权限的设置方法、系统以及设备,使得管理软件在开发完毕上线后,即使出现对在软件设计和开发过程中没考虑周到的表字段进行数据权限的控制时,仍可通过统一的设置方法加以实现,降低二次开发的情形,从而很好地解决了因此类需求而引起的效率、风险和成本等问题。
[0005]本专利技术的另一目的之一在于提供一种数据库管理软件中数据权限的设置方法、系统以及设备,实现一次配置处处受控的管理目的。
[0006]为了实现本专利技术的至少一个专利技术目的,本专利技术提供了一种数据库管理软件中数据权限的设置方法,所述数据库管理软件中数据权限的设置方法包括以下步骤:
[0007]创建数据权限属性,其中数据权限属性编码ID唯一;
[0008]配置数据权限属性ID至功能信息层或数据字典层,其中,功能信息层的配置优先于数据字典层;以及
[0009]基于角色和数据权限属性分配数据权限给登录并操作数据库管理软件的用户;
[0010]其中,所述创建数据权限属性步骤中,数据权限属性表结构的字段选自具有唯一性的数据权限属性编码ID、数据权限属性名称、是否设置施加、取值数据源、取值用SQL和备注的一种或几种,其中取值用SQL用于定义给用户分配权限时的取值并方便用勾选方式给用户授权,取值数据源用于定义取值用SQL从相对应的数据库取数;
[0011]其中,所述配置数据权限属性步骤中,将已经定义好的数据权限属性ID配置到数据字典层或功能信息层上,建立两者的绑定关联关系;
[0012]其中,所述分配用户数据权限步骤中,数据角色和用户为多对多关系,基于用户数据角色ID和数据权限属性ID进行数据授权,授权用户可查看和可修改哪些数据的权限,其中,同一用户有多个角色在同一数据权限属性上都有授权时的权限取并集。
[0013]在一些实施例中,其中所述创建数据权限属性步骤还包括以下步骤:判断数据权限属性表结构中是否设置施加字段是否缺省,如果缺省则为默认情况下的“N”,即没给用户分配该数据权限属性的数据权限,该用户看不到数据;如果配置为“Y”,则表示给用户分配该数据权限属性的数据权限时,就在该用户运行功能时,动态加入分配给该用户的数据权限条件进行筛选数据,从而加以数据权限的管控,没给用户分配该数据权限属性的数据权限时就不执行管控,则该用户可看到相关全部数据。
[0014]在一些实施例中,其中所述配置数据权限属性步骤中,数据字典层表结构的字段选自表名ID、表名描述、字段名ID、字段描述、权限属性ID、施加模式、等价表字段和参照用SQL的一种或者几种,其中数据字典层表结构的表名ID和字段ID两个字段组合唯一;功能信息层表结构的字段选自功能ID、功能名称、数据集ID、表名字段名ID、权限属性ID、施加模式的一种或者几种,其中,功能信息层表结构的功能ID、数据集ID、表名字段名ID三个字段组合唯一。
[0015]在一些实施例中,其中在权限属性ID字段中配置已经被定义好的数据权限属性ID,从而实现两者的关联绑定关系;施加模式字段选自“SQL施加/参照施加/都要施加”,当配置为“SQL施加”时,仅在数据集取数时施加进分配的数据权限以实现可见数据的管控;当配置为“参照施加”时,仅在对该字段值采用弹窗或下拉框的参照方式维护时,在参照数据取数时施加进分配的数据权限以实现弹窗或下拉框中可见数据的管控;当配置为“都要施加”时,“SQL施加”和“参照施加”这两种模式下的数据权限管控都要执行。
[0016]在一些实施例中,其中所述数据库管理软件中数据权限的设置方法还包括步骤:设置施加模式、等价表字段和参照用SQL。
[0017]在一些实施例中,其中所述数据库管理软件中数据权限的设置方法还包括步骤:分配给用户的数据权限存放在两张数据库表中,其中第一张用户数据权限表的结构含“用户数据角色ID、数据权限属性ID、可看数据权限、可改数据权限和备注”字段,以勾选方式给用户分配的精确的数据权限值以多条记录的方式存放在该表中,第二张用户特殊数据权限表的结构与第一张表相同,只是给用户分配的特殊的数据权限值以手工输入方式并以单条记录的方式存放在该表中。
[0018]根据本专利技术的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时执行所述的数据库管理软件中数据权限的设置方法的步骤。
[0019]根据本专利技术的另一方面,还提供了一种数据库管理软件中数据权限的设置设备,包括:
[0020]存储器,用于存储软件应用程序,
[0021]处理器,用于执行所述软件应用程序,所述软件应用程序的各程序相对应地执行所述的数据库管理软件中数据权限的设置方法中的步骤。
[0022]根据本专利技术的另一方面,还提供了一种数据库管理软件中数据权限的设置系统,所述数据库管理软件中数据权限的设置系统包括权限属性维护单元、权限施加定义单元以及用户权限配置单元,所述权限属性维护本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库管理软件中数据权限的设置方法,其特征在于,所述数据库管理软件中数据权限的设置方法包括以下步骤:创建数据权限属性,其中数据权限属性编码ID唯一;配置数据权限属性ID至功能信息层或数据字典层,其中,功能信息层的配置优先于数据字典层;以及基于角色和数据权限属性分配数据权限给登录并操作数据库管理软件的用户;其中,所述创建数据权限属性步骤中,数据权限属性表结构的字段选自具有唯一性的数据权限属性编码ID、数据权限属性名称、是否设置施加、取值数据源、取值用SQL和备注的一种或几种,其中取值用SQL用于定义给用户分配权限时的取值并方便用勾选方式给用户授权,取值数据源用于定义取值用SQL从相对应的数据库取数;其中,所述配置数据权限属性步骤中,将已经定义好的数据权限属性ID配置到数据字典层或功能信息层上,建立两者的绑定关联关系;其中,所述分配用户数据权限步骤中,数据角色和用户为多对多关系,基于用户数据角色ID和数据权限属性ID进行数据授权,授权用户可查看和可修改哪些数据的权限,其中,同一用户有多个角色在同一数据权限属性上都有授权时的权限取并集。2.如权利要求1所述的数据库管理软件中数据权限的设置方法,其中所述创建数据权限属性步骤还包括以下步骤:判断数据权限属性表结构中是否设置施加字段是否缺省,如果缺省则为默认情况下的“N”,即没给用户分配该数据权限属性的数据权限,该用户看不到数据;如果配置为“Y”,则表示给用户分配该数据权限属性的数据权限时,就在该用户运行功能时,动态加入分配给该用户的数据权限条件进行筛选数据,从而加以数据权限的管控,没给用户分配该数据权限属性的数据权限时就不执行管控,则该用户可看到相关全部数据。3.如权利要求1所述的数据库管理软件中数据权限的设置方法,其中所述配置数据权限属性步骤中,数据字典层表结构的字段选自表名ID、表名描述、字段名ID、字段描述、权限属性ID、施加模式、等价表字段和参照用SQL的一种或者几种,其中数据字典层表结构的表名ID和字段ID两个字段组合唯一;功能信息层表结构的字段选自功能ID、功能名称、数据集ID、表名字段名ID、权限属性ID、施加模式的一种或者几种,其中,功能信息层表结构的功能ID、数据集ID、表名字段名ID三个字段组合唯一。4.如权利要求3所述的数据库管理软件中数据权限的设置方法,其中在权限属性ID字段中配置已经被定义好的数据权限属性ID,从而实现两者的关联绑定关系;施加模式字段选自“SQL施加/参照施加/都要施加”,当配置为“SQL施加”时,仅在数据集取数时施加进分配的数据权限以实现可见数据的管控;当配置为“参照施加”时,仅在对该字段值采用弹窗或下拉框的参照方式维护时,在参照数据取数时施加进分配的数据权限以实现弹窗或下拉框中可见数据的管控;当配置为“都要施加”时,“SQL施加”和“参照施加”这两种模式下的数据权限管控都要执行。5.如权利要求4所述的数据库管理软件中数据权限的设置方法,其中所述数据库管理软件中数据权限的设置方法还包括步骤:设置施加模式、等价表字段和参照用SQL。6.如权利要求1至5中任一所述的数据库管理软件中数据权限的设置方法,其中所述数据库管理软件中数据权限的设置方法还包括步骤:分配给用户的数据权限存放在两张数据
库表中,其中第一张用户数据权限表的结构含“用户数据角色ID、数据权限属性ID、可看数据权限、可改数据权限和备注”字段,以勾选方式给用户分配的精确的数据权限值以多条记录的方式存放在该表中,第二张用户特殊数据权限表的结构与第一张表相同,只是给用户分配的特殊的...

【专利技术属性】
技术研发人员:华逸华挺龚俊周建
申请(专利权)人:江阴海澜科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1