一种基于智能报表平台的数据权限控制系统和方法技术方案

技术编号:35460044 阅读:16 留言:0更新日期:2022-11-03 12:26
本发明专利技术提出了一种基于智能报表平台的数据权限控制系统和方法,该系统包括:用户集成模块,用于进行统一用户管理、统一登陆认证;系统函数模块,用于提供与用户信息相关的系统函数,可供任务调用获取用户信息;用户属性模块,用于提供与用户信息相关的属性信息,以供表达式及函数动态获取并应用于数据权限设置;关系权限控制模块,用于在关系数据源中对查询的目标表设置数据权限,并设置限制条件;多维权限控制模块,用于在多维数据源中对维度层次结构设置数据权限,并添加过滤内容。本发明专利技术将返回的数据权限集合列表作为限制条件进行数据过滤,通过数据权限优先级控制数据权限时权限设置,使后期的维护更方便,能够大大减小报表制作的工作量。作的工作量。作的工作量。

【技术实现步骤摘要】
一种基于智能报表平台的数据权限控制系统和方法


[0001]本专利技术涉及数据权限系统开发
,具体而言,涉及一种基于智能报表平台的数据权限控制系统和方法。

技术介绍

[0002]出于数据安全与系统安全的考虑,报表需求提出者通常都希望每个用户只能看到其所属机构的数据,因此在报表开发过程中,开发人员常常会遇到需要对报表进行数据权限控制的情况。控制报表数据访问权限,就是让不同的机构、角色或者具体到人访问同一张报表的时候,所看到的数据是不同的或者说只能看到权限范围内的数据。比如,区域销售情况统计,各区域销售经理也只能看到所在区域的数据。再比如,对银行来说,希望广州分行的用户登陆系统打开报表只能看到广州分行的数据,北京分行的用户登陆系统只能看到北京分行的数据。
[0003]在实际应用环境中,解决此类问题一般是通过直接在SQL中筛选出数据绘制报表模版,然后按照登陆对象访问指定的模版就可以了。但是,如果使用用户的人员众多,就需要制作N多张样式相同只是SQL(报表数据集)略有不同的报表,工作量大且不利于后期维护。

技术实现思路

[0004]鉴于上述问题,本专利技术提供了一种基于智能报表平台的数据权限控制系统和方法,解决了现有技术中通过直接在SQL中筛选出数据绘制报表模版,工作量大不利于后期维护的问题。
[0005]为解决上述技术问题,本专利技术采用的技术方案是:一种基于智能报表平台的数据权限控制系统,包括:用户集成模块,用于进行统一用户管理、统一登陆认证,实现多套系统间的单点登陆;系统函数模块,用于提供与用户信息相关的系统函数,可供任务调用获取用户信息;用户属性模块,用于提供与用户信息相关的属性信息,以供表达式及函数动态获取并应用于数据权限设置;关系权限控制模块,用于在关系数据源中对查询的目标表设置数据权限,并设置限制条件;多维权限控制模块,用于在多维数据源中对维度层次结构设置数据权限,并添加过滤内容。
[0006]作为优选方案,所述用户集成模块包括:用户同步单元,用于在多套系统拥有相同的用户信息时,以外部系统作为统一用户管理平台,将统一用户管理平台的用户信息同步至报表平台;时效判断单元,用于判断报表平台用户同步的时效性要求,若时效性要求低,则使用存储过程或ETL定时将第三方系统中的用户信息同步到报表平台的用户表中,若时效性要求高,则在第三方系统中使用报表平台用户管理的远程调用接口实现用户信息的同步;组同步单元,用于同步用户组表t_group,并同步用户组与角色对应关系表t_group_role;表同步单元,用于同步用户表t_user、用户组与用户对应表t_group_user、用户与角色对应关系表t_user_role;角色同步单元,用于同步角色表t_role;权限同步单元,用于同
步操作权限表t_funclist、角色与操作权限关系表t_role_func;用户验证单元,用于验证用户是否是合法的系统用户。
[0007]作为优选方案,所述设置限制条件,包括:设置数据权限的生效对象,所述生效对象包括用户组、角色、用户;根据数据权限优先级的顺序,执行数据权限;设置数据权限对于生效对象的生效范围。
[0008]作为优选方案,所述多维权限控制模块,包括:映射设置单元,用于设置维度信息和用户信息之间的映射关系,以实现数据权限控制;简单设置单元,用于设置维度信息和角色信息之间的可见关系,以实现数据权限控制;高级设置单元,用于过滤用户允许访问的维成员子树,以实现数据权限控制。
[0009]作为优选方案,所述高级设置单元,包括:例外角色子单元,用于设置数据权限不生效的角色,属于所述角色下的用户和用户组不继承当前数据权限;表达式子单元,用于通过MDX语句设置用户可以访问的层次结构和最顶层成员,返回的是一个成员集;通过MDX语句来判断成员访问权限,以对所述层次结构所有成员的访问合法性校验;语法校验子单元,用于校验MDX语法校验表达式的正确与否,通过校验才允许保存当前设置。
[0010]本专利技术还提供了一种如根据上述任一项所述的基于智能报表平台的数据权限控制系统的控制方法,包括如下步骤:预先在第三方系统中维护用户信息,并利用报表平台的用户集成模块同步所述用户信息;通过用户账户登陆报表平台,获取与所述用户账户对应的用户信息,进行权限校验和登陆认证;在所述报表平台的目录中选择需要查询的报表,获取用户账户和报表ID,并传递到参数数据集中;在参数数据集的限制条件中调用系统函数,查询报表平台的知识库获取用户属性,并根据所述用户属性获得用户能访问的数据权限集合列表;将所述数据权限集合列表作为限制条件进行数据过滤,获得用于展示的报表数据集。
[0011]作为优选方案,所述用户信息包括账号、密码、用户名称、别名、所属组、所属机构、所属角色和操作权限,则所述利用报表平台的用户集成模块同步所述用户信息,包括:判断报表平台用户同步的时效性要求,若时效性要求低,则使用存储过程或ETL定时将第三方系统中的用户信息同步到报表平台的用户表中;若时效性要求高,则在第三方系统中使用报表平台用户管理的远程调用接口实现用户信息的同步。
[0012]作为优选方案,当所述报表是基于关系数据源创建而成时,所述在参数数据集的限制条件中调用系统函数,查询报表平台的知识库获取用户属性,包括:调用关系权限控制模块,通过其中设置的限制条件限制用户可以查看到的具体数据内容,所述限制条件包括适用对象、优先级和使用范围;在关系权限控制模块中,调用用户属性模块,将识别到的用户属性信息传递到参数数据集中,以确定当前用户的属性信息。
[0013]作为优选方案,当所述报表是基于多维数据源创建而成时,所述在参数数据集的限制条件中调用系统函数,查询报表平台的知识库获取用户属性,包括:调用多维权限控制模块,通过MDX语句对一维度层次结构控制数据权限,以限制用户可以查看到的具体数据内容;在多维权限控制模块中,设置多维分析参数和自定义成员/命名集,以实现动态获取当前用户权限内的成员。
[0014]与现有技术相比,本专利技术的有益效果包括:通过用户集成模块、系统函数模块、用户属性模块、关系权限控制模块、多维权限控制模块等模块设计,将识别到的用户账户以及
智能报表ID传递到参数的数据集中,在参数数据集的限制条件中调用系统函数,通过查询报表平台知识库相关的用户表信息获取用户属性,获得用户能访问的数据权限,将返回的数据权限集合列表作为用来展示的报表数据集的限制条件进行数据过滤,通过数据权限的优先级控制多个数据权限时权限设置,使后期的维护更方便,能够大大减小报表制作的工作量。
附图说明
[0015]参照附图来说明本专利技术的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本专利技术的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:
[0016]图1为本专利技术实施例基于智能报表平台的数据权限控制系统的结构示意图;
[0017]图2为本专利技术实施例用户集成模块的结构示意图;
[0018]图3为本专利技术实施例多维权限控制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于智能报表平台的数据权限控制系统,其特征在于,包括:用户集成模块,用于进行统一用户管理、统一登陆认证,实现多套系统间的单点登陆;系统函数模块,用于提供与用户信息相关的系统函数,可供任务调用获取用户信息;用户属性模块,用于提供与用户信息相关的属性信息,以供表达式及函数动态获取并应用于数据权限设置;关系权限控制模块,用于在关系数据源中对查询的目标表设置数据权限,并设置限制条件;多维权限控制模块,用于在多维数据源中对维度层次结构设置数据权限,并添加过滤内容。2.根据权利要求1所述的基于智能报表平台的数据权限控制系统,其特征在于,所述用户集成模块包括:用户同步单元,用于在多套系统拥有相同的用户信息时,以外部系统作为统一用户管理平台,将统一用户管理平台的用户信息同步至报表平台;时效判断单元,用于判断报表平台用户同步的时效性要求,若时效性要求低,则使用存储过程或ETL定时将第三方系统中的用户信息同步到报表平台的用户表中,若时效性要求高,则在第三方系统中使用报表平台用户管理的远程调用接口实现用户信息的同步;组同步单元,用于同步用户组表t_group,并同步用户组与角色对应关系表t_group_role;表同步单元,用于同步用户表t_user、用户组与用户对应表t_group_user、用户与角色对应关系表t_user_role;角色同步单元,用于同步角色表t_role;权限同步单元,用于同步操作权限表t_funclist、角色与操作权限关系表t_role_func;用户验证单元,用于验证用户是否是合法的系统用户。3.根据权利要求1所述的基于智能报表平台的数据权限控制系统,其特征在于,所述设置限制条件,包括:设置数据权限的生效对象,所述生效对象包括用户组、角色、用户;根据数据权限优先级的顺序,执行数据权限;设置数据权限对于生效对象的生效范围。4.根据权利要求1所述的基于智能报表平台的数据权限控制系统,其特征在于,所述多维权限控制模块,包括:映射设置单元,用于设置维度信息和用户信息之间的映射关系,以实现数据权限控制;简单设置单元,用于设置维度信息和角色信息之间的可见关系,以实现数据权限控制;高级设置单元,用于过滤用户允许访问的维成员子树,以实现数据权限控制。5.根据权利要求4所述的基于智能报表平台的数据权限控制系统,其特征在于,所述高级设置单元,包括:例外角色子单元,用于设置数据权限不生效的角色,属于所述角色下的用户和用户组不继承当前数据权限;表达式子单元,用于通过MDX语...

【专利技术属性】
技术研发人员:刘颖万文兵
申请(专利权)人:江苏苏宁银行股份有限公司
类型:发明
国别省市:

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

1