一种快速权限接入管理方法及系统与流程

文档序号:17078597发布日期:2019-03-08 23:59阅读:134来源:国知局
本发明涉及数据库安全领域,尤其涉及一种快速权限接入管理方法及系统。
背景技术
::数据库系统中需要对一些关键资源进行权限管理,目前的权限管理只针对用户对员工的增、删、改、查询进行的权限控制,尚未对元数据进行权限控制,当用户需要对新的资源进行权限控制时,都需要对系统的权限配置界面重新设计开发,导致代码重复率高,效率低。技术实现要素:本发明要解决的技术问题之一,在于提供一种快速权限接入管理方法,提高权限管理系统的整体开发效率,减少时间成本和人力成本。本发明要解决的技术问题之一是这样实现的:一种快速权限接入管理方法,包括如下步骤:步骤10、定义配置信息表、权限资源表以及权限落地表,所述配置信息表包括权限配置组名称、表名和主键字段名,所述权限资源表包括资源id、资源名称、上级资源id、权限配置组名称、权限名称和关联实际资源表主键,所述权限落地表包括权限主键、资源id和员工标识;步骤20、将新的资源信息录入到配置信息表中;步骤30、在权限资源表中添加新的资源名称以及添加新的资源需要控制的权限类型名称,将并将所述权限类型名称作为所述资源名称的子节点;步骤40、当新增所述资源的子资源时,在权限资源表中添加所述子资源信息,并将所述子资源作为所述资源的子节点的下一级节点;步骤50、动态读取权限资源表中的所有资源信息,自动根据资源对应的节点顺序关系显示在权限配置界面;步骤60、在权限配置界面中对各资源权限进行选择性授权操作,将授权结果保存到权限落地表中。进一步的,所述资源权限类型包括增加、删除、更新和查询。进一步的,所述权限资源表还包括状态和排序,所述状态包括正常和删除,默认为正常状态,所述排序用于按序显示节点位置。进一步的,所述方法还包括:步骤70、通过sql语句从权限资源表和权限落地表中查询对应权限的对应资源。进一步的,当需要对新增的资源进行权限控制时,重复执行步骤20至步骤40。本发明要解决的技术问题之一,在于提供一种快速权限接入管理系统,提高权限管理系统的整体开发效率,减少时间成本和人力成本。本发明要解决的技术问题之一是这样实现的:一种快速权限接入管理系统,包括定义表模块、新增资源模块、资源权限管理模块、子资源权限管理模块、配置界面生成模块和权限配置模块:所述定义表模块,用于定义配置信息表、权限资源表以及权限落地表,所述配置信息表包括权限配置组名称、表名和主键字段名,所述权限资源表包括资源id、资源名称、上级资源id、权限配置组名称、权限名称和关联实际资源表主键,所述权限落地表包括权限主键、资源id和员工标识;所述新增资源模块,用于将新的资源信息录入到配置信息表中;所述资源权限管理模块,用于在权限资源表中添加新的资源名称以及添加新的资源需要控制的权限类型名称,将并将所述权限类型名称作为所述资源名称的子节点;所述子资源权限管理模块,用于当新增所述资源的子资源时,在权限资源表中添加所述子资源信息,并将所述子资源作为所述资源的子节点的下一级节点;所述配置界面生成模块,用于动态读取权限资源表中的所有资源信息,自动根据资源对应的节点顺序关系显示在权限配置界面;所述权限配置模块,用于在权限配置界面中对各资源权限进行选择性授权操作,将授权结果保存到权限落地表中。进一步的,所述资源权限类型包括增加、删除、更新和查询。进一步的,所述权限资源表还包括状态和排序,所述状态包括正常和删除,默认为正常状态,所述排序用于按序显示节点位置。进一步的,所述系统还包括:权限查询模块,用于通过sql语句从权限资源表和权限落地表中查询对应权限的对应资源。进一步的,当需要对新增的资源进行权限控制时,重复执行资源权限管理模块、子资源权限管理模块和配置界面生成模块。本发明具有如下优点:通过设置用于存储资源信息、资源可配置权限,以及配置后的具体资源的具体权限数据信息的三个关联表,用户只需要录入表信息,即可实现对资源权限管理界面的动态生成,将配置好的结果以表格的形式存储,可便于后续查询与实施后续操作,大大提高权限管理系统开发的效率,缩短重新开发的周期,重复代码率低,降低开发成本,同时,对界面的重新定义也无需资深开发背景的人员即可实现,便于后期维护。附图说明下面参照附图结合实施例对本发明作进一步的说明。图1为本发明一种快速权限接入管理方法执行流程图。图2为本发明系统框图。图3为本发明在一实施例中的权限界面部分展示效果图之一。图4为本发明在一实施例中的权限界面部分展示效果图之二。具体实施方式如图1所示,本发明一种快速权限接入管理方法,包括如下步骤:步骤10、定义配置信息表、权限资源表以及权限落地表,所述配置信息表包括权限配置组名称、表名和主键字段名,所述权限资源表包括资源id、资源名称、上级资源id、权限配置组名称、权限名称和关联实际资源表主键,所述权限落地表包括权限主键、资源id和员工标识;步骤20、将新的资源信息录入到配置信息表中;步骤30、在权限资源表中添加新的资源名称以及添加新的资源需要控制的权限类型名称,将并将所述权限类型名称作为所述资源名称的子节点,一般的,所述资源权限类型包括增加、删除、更新和查询;步骤40、当新增所述资源的子资源时,在权限资源表中添加所述子资源信息,并将所述子资源作为所述资源的子节点的下一级节点;步骤50、动态读取权限资源表中的所有资源信息,自动根据资源对应的节点顺序关系显示在权限配置界面,即重新生成权限配置界面;步骤60、在权限配置界面中对各资源权限进行选择性授权操作,将授权结果保存到权限落地表中。在一较佳实施例中,所述权限资源表还包括状态和排序,所述状态包括正常和删除,默认为正常状态,所述排序用于按序显示节点位置,比如将“新增用户”的权限在“查看用户”的权限前面,就将“新增用户”的排序值小于“查看用户”的排序值,以便按序排列展示。在一较佳实施例中,所述方法还包括:步骤70、通过sql语句从权限资源表和权限落地表中查询对应权限的对应资源。在一较佳实施例中,当需要对新增的资源进行权限控制时,重复执行步骤20至步骤40。如图2所示,本发明的一种快速权限接入管理系统,包括定义表模块、新增资源模块、资源权限管理模块、子资源权限管理模块、配置界面生成模块和权限配置模块:所述定义表模块,用于定义配置信息表、权限资源表以及权限落地表,所述配置信息表包括权限配置组名称、表名和主键字段名,所述权限资源表包括资源id、资源名称、上级资源id、权限配置组名称、权限名称和关联实际资源表主键,所述权限落地表包括权限主键、资源id和员工标识;所述新增资源模块,用于将新的资源信息录入到配置信息表中;所述资源权限管理模块,用于在权限资源表中添加新的资源名称以及添加新的资源需要控制的权限类型名称,将并将所述权限类型名称作为所述资源名称的子节点,一般的,所述资源权限类型包括增加、删除、更新和查询;所述子资源权限管理模块,用于当新增所述资源的子资源时,在权限资源表中添加所述子资源信息,并将所述子资源作为所述资源的子节点的下一级节点;所述配置界面生成模块,用于动态读取权限资源表中的所有资源信息,自动根据资源对应的节点顺序关系显示在权限配置界面;所述权限配置模块,用于在权限配置界面中对各资源权限进行选择性授权操作,将授权结果保存到权限落地表中。在一较佳实施例中,所述权限资源表还包括状态和排序,所述状态包括正常和删除,默认为正常状态,所述排序用于按序显示节点位置,比如将“新增用户”的权限在“查看用户”的权限前面,就将“新增用户”的排序值小于“查看用户”的排序值,以便按序排列展示。在一较佳实施例中,所述系统还包括:权限查询模块,用于通过sql语句从权限资源表和权限落地表中查询对应权限的对应资源。在一较佳实施例中,当需要对新增的资源进行权限控制时,重复执行资源权限管理模块、子资源权限管理模块和配置界面生成模块。下面结合一具体实施例对本发明做进一步说明:首先,定义关键的三个表,包括配置信息表(srg_tree_cfg,如表1所示),权限资源表(srg_prv_res,如表2所示)和权限落地表(srg_privilege,如表3所示),其中配置信息表用来保存对应资源信息,包括权限配置组名称、表名和主键字段名;权限资源表用来存储需要接入管理的资源和对应的权限,包括资源id、资源名称、上级资源id、权限配置组名称、权限名称和关联实际资源表主键;权限落地表用来存储经界面配置完成后的用户权限数据,包括权限主键、资源id和员工标识。另外,将数据库中其他需要控制的表作为实际资源表,比如需要控制员工权限,那么员工表就作为实际资源表,实际资源表需要设有主键,以便进行关联查询与控制。表1表2表3在一具体的案例中,比如需要对用户权限(或数据库等)进行管理时,以配置数据以及查询进行举例,默认超级管理员有任何资源的所有权限,只有超级管理员才能给用户权限,超级管理员需要对员工这个资源进行权限控制,假设员工表为staff,主键字段名为staff_id,将该记录写入配置信息表,可通过数据库语句实现:insertintosrg_tree_cfg(tree_cfg_name,table_name,primary_column_name)values(‘staff_privilege’,staff,’staff_id’);其中权限种类名称为staff_privilege;之后,往权限资源表中插入需要权限控制的资源,可通过数据库语句实现:insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(1,’用户管理’,’-1’,’staff_privilege”,”,”);插入需要控制的权限,按每一种权限一条记录的话,并且挂在资源底下,用parentresid关联,比如需要add、update、delete、query则写入4条记录:insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(2,’新增用户’,’1’,’staff_privilege’,’add’,”);insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(3,’修改用户’,’1’,’staff_privilege’,’update’,”);insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(4,’删除用户’,’1’,’staff_privilege’,’delete’,”);insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(5,’查看用户’,’1’,’staff_privilege’,’query’,”);此时的权限配置组名称(treecfgname)字段值都为staff_privilege,代表都是员工权限资源,如果以后要加入元数据权限,则权限配置组名称(treecfgname)字段值为其他比如meta_privilege,就可以区分开;此时通过动态调用数据库上述表可以得到如图3所示的权限配置界面,按节点顺序依次展开有用户管理->用户->新增用户、查看用户、修改用户、删除用户;之后每次添加一条新的员工记录时,程序自动往其他的三个权限节点(修改用户,删除用户和查询用户)下插入对应的子节点,比如新增加的用户为“李林”,用户id(staff_id)为100,则自动写入数据如下:insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(100,’李林’,’3’,’staff_privilege’,’update’,’100’);insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(101,’李林’,’4’,’staff_privilege’,’delete’,’100’);insertintosrg_priv_res(resid,resname,parentresid,treecfgname,privilegename,relatedid)values(102,’李林’,’5’,’staff_privilege’,’query’,’100’);此时通过动态调用数据库上述表可以得到如图4所示的权限配置界面,即在每个子节点(新增用户、查看用户、修改用户、删除用户)下分别增加“李林”;之后直接在权限配置界面上进行权限配置,比如要在权限配置界面上把用户“李林”的查询权限授给用户a(员工id为5),则写入权限落地表数据为:insertintosrg_privilege(privilegeid,resid,assignid)values(1,102,5);假设现在要知道用户a(员工id为5)有哪些用户的query权限,则直接可通过权限落地表、权限资源表关联查询快速得出,用数据库语句进行查询如下:selects.relatedidfromsrg_privilegep,srg_priv_resswhreep.resid=s.residandassignid=5andp.treecfgname=’staff_privilege’andp.privilegename=‘query’;得到的结果是:relatedid的数据为100,即说明用户a有员工id为100的李林的查询权限,可以查看该用户的详细信息。再比如,用户a要删除李林这个用户,则需要查询用户a是否有该权限,用数据库语言查询:selects.relatedidfromsrg_privilegep,srg_priv_resswhreep.resid=s.residandassignid=5andp.treecfgname=’staff_privilege’andp.privilegename=’delete’;查询出来relatedid的数据为空,则提示用户a没有删除李林这个用户的权限。本发明通过设置用于存储资源信息、资源可配置权限,以及配置后的具体资源的具体权限数据信息的三个关联表,用户只需要录入表信息,即可实现对资源权限管理界面的动态生成,并将权限配置的结果以表格的形式存储,可便于后续查询等操作,减少新增资源带来的重复开发,缩短开发维护的周期,降低开发成本,同时,对界面的重新定义也无需资深开发背景的人员即可实现,便于规模应用。虽然以上描述了本发明的具体实施方式,但是熟悉本
技术领域
:的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1