本申请涉及计算机,特别是涉及一种数据权限控制器及数据平台。
背景技术:
1、随着互联网的发展,各种类型的数据平台(例如网站、hadoop大数据平台等)越来越多,数据平台的功能越来越丰富,人们对于数据平台的要求也越来越高。对于数据统计类型的数据平台,人们希望能够做到统计数据的千人千面,数据平台可以根据人员权限的不同,对于同一类型的统计数据,展示该人员权限内应能看到的统计结果。
2、但是,数据平台的传统设计中,为达到行级数据权限的控制效果,数据平台的程序中会强侵入性的加入与业务无关的样板式代码,使得行级权限控制逻辑与业务逻辑强耦合在一起,从而导致数据平台的开发效率低、后期维护成本高。因此,如何使得数据平台能够简单、灵活地实现行级数据权限的控制效果,以提升数据平台的开发效率、降低后期维护成本,是本领域技术人员亟需解决的技术问题。
技术实现思路
1、本申请的目的在于提供一种数据权限控制器及数据平台,能够使得数据平台能够简单、灵活地实现行级数据权限的控制效果,以提升数据平台的开发效率、降低后期维护成本。
2、为达到上述目的:
3、第一方面,本申请实施例提供了一种数据权限控制器,包括:预定义的注解、切面及权限校验器;预定义的注解用于确定切面织入数据平台的程序的时机,以及标记程序中的基本元素的注解信息,和/或为基本元素中成员变量的注解信息关联校验逻辑,校验逻辑包括于权限校验器中;切面用于织入数据平台的程序中,且用于确定切入点的基本元素所对应的目标注解信息,并响应于数据访问,根据目标注解信息关联的目标校验逻辑进行数据权限控制。
4、在一实施方式中,基本元素还包括类、方法中的至少一项。
5、在一实施方式中,预定义的注解用于确定切面织入数据平台的程序的时机,以及标记程序中的基本元素的注解信息的情形,包括以下至少一项:
6、通过第一注解注解方法或类,以定义切面织入数据平台的程序的时机,并确定数据权限控制器的生效范围;
7、通过第二注解注解成员变量的注解信息,以对标记的成员变量开启数据权限控制功能。
8、在一实施方式中,第二注解用于为成员变量的注解信息,配置数据权限范围和/或关联权限校验器中的校验逻辑。
9、在一实施方式中,校验逻辑表征根据数据访问所对应的用户操作目的而配置的针对用户访问权限的校验流程步骤。
10、在一实施方式中,切面用于响应于数据访问,提取切入点的方法和参数,并根据提取的方法和参数中的各成员变量确定对应的目标注解信息,以及根据目标注解信息关联的目标校验逻辑进行数据权限控制。
11、在一实施方式中,权限校验器用于预存至少一种权限校验类的校验逻辑,和/或提供自定义接口以供自定义校验逻辑。
12、在一实施方式中,预存的至少一种权限校验类的校验逻辑,包括以下至少一种:
13、字符串类型的校验逻辑;
14、数值类型的校验逻辑;
15、级联类型的校验逻辑;
16、集合类型的校验逻辑;
17、对象类型的校验逻辑。
18、在一实施方式中,切面响应于数据访问,根据目标注解信息关联的目标校验逻辑进行数据权限控制的情形,包括:切面根据目标注解信息中权限校验类的标识,从数据权限控制器调用与权限校验类的标识相对应的目标校验逻辑进行数据权限控制。
19、在一实施方式中,数据权限控制包括:根据目标注解信息中的各种参数,确定触发数据访问的用户的访问权限范围;将访问权限范围与用户触发的操作请求关联,以在响应操作请求,进入业务方法后基于访问权限范围进行数据访问限制。
20、第二方面,本申请实施例提供了一种数据平台,且数据平台的程序中织入如权上任一项所描述的数据权限控制器。
21、本申请实施例提供了数据权限控制器及数据平台,数据权限控制器,包括:预定义的注解、切面及权限校验器;预定义的注解用于确定切面织入数据平台的程序的时机,以及标记程序中的基本元素的注解信息,和/或为基本元素中成员变量的注解信息关联校验逻辑,校验逻辑包括于权限校验器中;切面用于织入数据平台的程序中,且用于确定切入点的基本元素所对应的目标注解信息,并响应于数据访问,根据目标注解信息关联的目标校验逻辑进行数据权限控制。如此,本申请的技术方案中数据权限控制器包括预定义的注解、切面及权限校验器,可以形成轻量级的独立框架以弱侵入的方式织入数据平台中,使得数据平台可以通过数据权限控制器中预定义的注解、切面及权限校验器中的校验逻辑,简单、灵活地实现行级数据权限的控制效果,从而避免开发数据平台时,为实现行级数据权限的控制效果而在程序中强侵入性的加入与业务无关的样板式代码,进而本申请的技术方案能够实现提升数据平台的开发效率、降低后期维护成本的目的。
1.一种数据权限控制器,其特征在于,包括:预定义的注解、切面及权限校验器;
2.根据权利要求1所述的数据权限控制器,其特征在于,所述基本元素还包括类、方法中的至少一项。
3.根据权利要求2所述的数据权限控制器,其特征在于,所述预定义的注解用于确定所述切面织入数据平台的程序的时机,以及标记所述程序中的基本元素的注解信息的情形,包括以下至少一项:
4.根据权利要求3所述的数据权限控制器,其特征在于,
5.根据权利要求2所述的数据权限控制器,其特征在于,
6.根据权利要求1至5任一项所述的数据权限控制器,其特征在于,
7.根据权利要求6所述的数据权限控制器,其特征在于,所述预存的至少一种权限校验类的校验逻辑,包括以下至少一种:
8.根据权利要求7所述的数据权限控制器,其特征在于,所述切面响应于数据访问,根据所述目标注解信息关联的目标校验逻辑进行数据权限控制的情形,包括:
9.根据权利要求1所述的数据权限控制器,其特征在于,数据权限控制包括:
10.一种数据平台,其特征在于,所述数据平台的程序中织入如权利要求1至9任一项所述的数据权限控制器。