基于模块功能的用户数据权限管理方案制造技术

技术编号:17032368 阅读:27 留言:0更新日期:2018-01-13 19:05
本发明专利技术公开了一种基于模块功能的数据权限处理方法,其核心在于:为所有的模块提供了一个配置接口,这个配置接口具有读取模块权限配置能力和设置模块权限配置的两个接口函数。所述读取模块权限配置能力的函数能够将本模块和业务相关的数据操作中可以进行的所有的配置读取出来,提供给管理页面进行配置。所述模块权限配置的函数能够直接对本模块进行权限设置;模块的业务部分和模块的数据部分全部封装在模块内部,但是通过模块业务功能,能看到业务功能对应的数据视图并通过配置接口暴露给管理系统。本方案解决了复杂系统的用户数据权限配置困难,尤其是字段级权限控制粒度,并能同模块的功能进行捆绑,提高模块权限复用度。

【技术实现步骤摘要】
基于模块功能的用户数据权限管理方案
:本专利技术涉及信息
,尤其是涉及基于模块功能的用户数据权限管理方法。
技术介绍
目前,软件系统的数据权限控制是很多系统面临的非常棘手的问题,现有的数据权限方案,往往要么进行数据的行级过滤,字段级的数据过滤控制就比较少,而且一般都是直接基于数据库之上的配置操作。同时这些配置处理往往又同数据的操作进行了分离。导致程序在处理数据权限和在这些数据上的操作引入大量硬编码,几乎进行配置和代码复用,系统权限功能调整修改比较困难。
技术实现思路
为了解决系统用户数据权限动态配置,同时将业务功能和业务相关的数据统一起来,本专利技术提出将独立的业务功能和业务功能需要的数据和操作封装在独立的模块中,同时将模块的数据部分的操作以及配置根据功能特点暴露给权限配置管理模块。管理配置模块可以针对其特定的权限管理方案,直接针对模块进行数据的行集条件,列集条件以及操作条件的设置。设置的结果在每次调用该模块的时候传入模块。从而实现模块的同一种功能,针对不同的用户,展现出不同的数据展示和操作效果的特点。将数据权限管理和业务功能的定义整合起来,由功能开发者按照本标准对外提供数据权限方式,实现了最细粒度的动态可配置的效果。本专利技术采用的技术方案是:如图1所示,定义一个所有模块都必须实现的接口,管理系统从这个接口中获得本模块的所有的配置接口选择项。配置接口对外提供一个基于行集和列集的XML格式的数据,具体的配置接口和对应的XML格式如下:1.配置接口定义:IconfigPage{StringGetConfigFromModule();//返回某个模块的xml的可配置项SetConfigToMoudle(String);//设置某个模块的xml可配置项}2.XML的格式定义为:<Module><ModuleName></ModuleName>//模块名称<ModuleUUID><ModuleUUID>//模块的UUID<FunctionFunctionName=“查看数据”FunctionName=“SearchData”><Operate>//模块对外提供的数据操作<FieldName=”ADD”>增加</Field><FieldName=”DELETE”>删除</Field><FieldName=”UPDATE”>修改</Field><FieldName=”SELECT”>查询</Field></Operate><RowFilter>//模块对应的数据范围过滤条件<FieldName=”*”>任意访问</Field>//任意用户<FieldName=”Dict”>DictTableName</Field>//过滤条件来自字典<FieldName=””></Field>//其他定制字段</RowFilter><ColumeFilter>//模块对应的数据字段过滤条件<FieldName=”*”>所有字段</Field>//所有字段<FieldName=”Dict”>DictTableName</Field>//字段来自字典,由业务模块自己维护对外提供的数据字段<FieldName=””></Field>//其他手工数据,由业务模块自己维护对外提供的数据字段<FieldName=””></Field>//其他手工数据,由业务模块自己维护对外提供的数据字段<FieldName=””></Field></ColumeFilter></Function></Module>任何提供数据权限的模块,必须实现上述两个接口,并且按照XML的格式定义提供本模块可以对外提供的,基于功能的数据权限定制。其中,功能名是整个模块对外能提供的功能接口,函数名是其他外部模块调用本模块该函数的函数名,行过滤器是where条件后的过滤条件,按照&进行组合。列过滤器是Select,update,Insert等条件之后的字段的内容项目。数据操作是本模块的业务需要支持的功能对数据的允许相关操作。不管模块如何操作数据库,比如采用表还是视图等方法,上面的XML只代表模块对外的权限表达范围,该数据处理与模块的业务功能对外提供的数据权限能力有关,而与模块如何具体操作表或者视图或者其他方案无关。数据权限与用户的挂钩1.数据权限与用户挂钩数据权限与用户可以使用群组或者用户角色进行挂接,数据权限同模块的函数关联,但是同整个系统的功能权限体系独立,同时模块数据权限同角色或者群组的权限配置是独立的。给予模块的数据权限可配置接口只提供本模块对应功能对外可以提供的数据权限的能力。如何使用这种能力,是有角色,群组或者其他的组织管理方式来确定并记录,和本模块无关。2.数据权限的设置一个需要使用模块功能的数据权限的管理机制,比如角色或者群组,当使用某个带有数据权限的模块时,首先必须读取这个模块实现接口的GetConfigFromModule函数,将模块就可以拥有的和函数挂接的数据权限信息读取并且提供给角色或者群组进行选择。对模块中的每一个对外提供的功能。数据权限展开结果如下:+模块数据操作+允许增加+允许删除+允许查询+允许修改+数据行条件过滤+所有数据+来自字典表+特定过滤条件+数据字段过滤条件+允许所有字段+来自字典表+来自手工特定条件选择的结果存放在用户的一个组织方式中(或者群组,或者角色等)。形成某个组织方式对某个模块的一个详细的数据权限控制方案。一个组织方式(角色或者群组),可以同时拥有多个模块的配置数据。形成多条ACL(访问控制表)数据。角色或者群组选择后的ACL数据关系如下用户角色+模块UUID+模块名称+模块功能+功能数据操作+功能数据行条件过滤+功能数据列过滤条件+模块UUID+模块名称+模块功能+功能数据操作+功能数据行条件过滤+功能数据列过滤条件3.使用ACL进行数据权限的过滤方法3.1任何对外提供数据权限的模块必须提供SetConfigToMoudle(String);方法。3.2每个用户管理本文档来自技高网...
基于模块功能的用户数据权限管理方案

【技术保护点】
基于模块功能的用户数据权限管理方案 其特征在于: 为所有的模块提供了一个配置接口,这个配置接口具有读取模块权限配置能力和设置模块权限配置的两个接口函数,其中,所述读取模块权限配置能力的函数能够将本模块和业务相关的数据操作中可以进行的所有的配置读取出来,提供给管理页面进行配置, 所述模块权限配置的函数能够直接对本模块进行权限设置。

【技术特征摘要】
1.基于模块功能的用户数据权限管理方案其特征在于:为所有的模块提供了一个配置接口,这个配置接口具有读取模块权限配置能力和设置模块权限配置的两个接口函数,其中,所述读取模块权限配置能力的函数能够将本模块和业务相关的数据操作中可以进行的所有的配置读取出来,提供给管理页面进行配置,所述模块权限配置的函数能够直接对本模块进行权限设置。2.根据权利要求1所述的基于模块功能的用户数据权限管理方案,其读取模块权限配置能力的函数的基本特征包括:数据权限的配置是在模块的业务功能上的,每个业务功能都能单独配置数据权限;能够读取本模块的业务功能所涉及的所有数据的行集的过滤条件;能够读取本模块的业务功能所涉及的所有数据的列集的过滤条件;能够读取本模块的业务功能所涉及的所有数据操作的处理方法。3.根据权利要求1所述的基于模块功能的用户数据权限管理方案,其模块权限配置的函数基本特征包括:数据权限的配置是在模块的业务功能上的,每个业务功能都能单独配置数据权限;能够设置本模块的业务功能所涉及的所有数据的行集的过滤条件;能够设置本模块的业务功能所涉及的所有数据...

【专利技术属性】
技术研发人员:何荔明
申请(专利权)人:武汉慧众部落科技有限公司
类型:发明
国别省市:湖北,42

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

1