数据权限控制方法、系统、电子设备及存储介质技术方案

技术编号:30140298 阅读:14 留言:0更新日期:2021-09-23 15:01
本发明专利技术涉及安全监控技术领域,揭露一种数据权限控制方法,包括:在系统服务端进行权限配置,根据用户权限控制表将用户的数据访问权限信息注入用户token;其中,在用户权限控制表中存储有用户具有数据访问权限的机构编码列表;通过拦截器捕获用户的数据访问请求,根据用户token确定所述数据访问请求中符合数据访问权限的机构编码,进而滤除不在所述数据访问权限内的机构编码;根据过滤后的数据访问请求,从对应数据库提取符合所述用户的数据访问权限的数据。利用本发明专利技术,不仅能提高用户的数据访问效率,系统开发人员还无需关注数据本身的权限处理问题,既能够提高开发效率,又能避免由于人为疏忽导致的数据越界问题。免由于人为疏忽导致的数据越界问题。免由于人为疏忽导致的数据越界问题。

【技术实现步骤摘要】
数据权限控制方法、系统、电子设备及存储介质


[0001]本专利技术涉及安全监控
,尤其涉及一种数据权限控制方法、系统、电子设备及计算机可读存储介质。

技术介绍

[0002]在智慧农业

数字乡村一体化平台应用系统的开发过程中,由于涉及的机构、项目内容以及访问对象层次类别繁多,需要经常处理数据权限问题。比如,同级别不同机构间数据需要互相隔离,上级机构可以查看下级机构数据,或者只可以查看当前机构的数据,下级机构可能被限制性访问同级机构或者上级机构的特定数据,这些在实际操作过程中需要注意的文件数据访问权限问题,可以统一归结为大平台系统的数据权限控制问题。
[0003]以往处理数据权限问题时,需要开发人员根据实际权限要求一一手动设置查询条件,这种逐一的权限设定方法不仅会产生大量冗余代码,而且容易遗漏,导致权限越界。同时,在智慧农业

数字乡村一体化平台中,由于机构众多且具有层级,许多机构还下辖许多子机构,子机构还具有子机构,为了查询出当前机构所能查看的所有数据,需要通过递归查询当前机构所包含的所有子机构,直到当前机构不包含子机构为止。现有的递归查询方式一般包括以下三种:
[0004]1、代码循环的查询。如果在查询代码实现时采用代码循环的方式进行,虽然循环代码书写简单,但查询该过程需要多次创建和不同子机构数据库的连接,增加了系统的处理负载,导致查询速度慢;
[0005]2、数据库递归查询。如果在查询代码实现时使用数据库递归查询,对开发人员的数据库处理能力要求较高,而且部分数据库不支持递归查询,导致该数据库递归查询方式不能灵活应用到所有数据库查询;
[0006]3、冗余查询。针对智慧农业

数字乡村一体化平台中机构繁多且彼此间在名称标识方面比较多样化,如果通过在所有机构数据表上采用冗余所有上下级机构的字段方式进行递归查询,会使得查询手段单一而且繁琐,无法应对现实应用中复杂多变的机构层深设计,并且当机构层级间发生变化时也需要变更所有机构数据表,大大增加了后期的系统维护工作。
[0007]对于终端用户而言,如果需要在智慧农业

数字乡村一体化平台中进行数据访问,由于各人的权限不同,所能够访问的机构和/或机构下子机构数据也各不相同,对于不同机构以及同一机构下不同权限范围的数据访问需求,就需要在系统登录后继续进行频繁的权限认证才能够进行具体数据的访问,带来极大的操作不便。

技术实现思路

[0008]本专利技术提供一种数据权限控制方法、系统、电子设备及存储介质,其主要目的在于解决现有的数据查询速度慢、系统操作不方便、后期维护工作两大的问题。
[0009]为实现上述目的,本专利技术提供的一种数据权限控制方法,应用于电子装置,包括:
[0010]在系统服务端进行权限配置,根据所述系统服务端预存的用户权限控制表将用户的数据访问权限信息注入用户令牌;其中,在所述用户权限控制表中预留字段架构编码,所述字段架构编码用于根据预设机构编码规则为所述系统所涉及的所有机构进行编码,所述数据访问权限信息包括用户具有数据访问权限的机构编码列表;
[0011]通过拦截器捕获用户的数据访问请求,根据用户令牌确定所述数据访问请求中符合所述数据访问权限的机构编码,进而对所述数据访问请求进行数据过滤以滤除不在所述数据访问权限内的机构编码;
[0012]根据过滤后的数据访问请求,从对应数据库提取所述用户的数据访问请求中符合所述用户的数据访问权限的数据。
[0013]为了解决上述问题,本专利技术还提供一种数据权限控制系统,所述系统包括:
[0014]权限配置单元,用于在系统服务端进行权限配置,根据所述系统服务端预存的用户权限控制表将用户的数据访问权限信息注入用户令牌;其中,在所述用户权限控制表中预留字段架构编码,所述字段架构编码用于根据预设机构编码规则为所述系统所涉及的所有机构进行编码,所述数据访问权限信息包括用户具有数据访问权限的机构编码列表;
[0015]拦截过滤单元,用于通过拦截器捕获用户的数据访问请求,根据用户令牌确定所述数据访问请求中符合所述数据访问权限的机构编码,进而对所述数据访问请求进行数据过滤以滤除不在所述数据访问权限内的机构编码;
[0016]数据提取单元,用于根据过滤后的数据访问请求,从对应数据库提取所述用户的数据访问请求中符合所述用户的数据访问权限的数据。
[0017]为了解决上述问题,本专利技术还提供一种电子设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的数据权限控制方法中的步骤。
[0018]为了解决上述问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据权限控制方法。
[0019]本专利技术提供的上述数据权限控制方案,通过按预设规则将智慧农业

数字乡村一体化平台中所涉及的机构进行有规律的编码形成机构编码列表,以及在系统服务端将用户对机构编码列表中所涉及机构的数据访问权限埋入token,在客户端提出查询请求时,结合系统框架中拦截器的数据拦截功能拦截查询请求并直接从token解析出用户的数据访问权限,为用户的当前查询添加数据过滤条件,从而实现无感知数据过滤查询。利用本专利技术,系统开发人员无需关注数据本身的权限处理问题,既能够提高开发效率,又能避免由于人为疏忽导致的数据越界问题。
附图说明
[0020]图1为根据本专利技术实施例的数据权限控制方法的流程示意图;
[0021]图2为根据本专利技术实施例的用户通过数据权限控制访问数据库的流程示意图;
[0022]图3为根据本专利技术实施例的数据权限控制系统的逻辑结构框图;
[0023]图4为根据本专利技术实施例的实现数据权限控制方法的电子设备的内部结构示意
图.
[0024]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0025]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0026]基于现有技术中存在的上述问题,本专利技术提出了一种从用户端控制数据访问权限的解决方案,通过按预设规则将智慧农业

数字乡村一体化平台中所涉及的机构进行有规律的编码形成机构编码列表,以及在系统服务端将用户对机构编码列表中所涉及机构的数据访问权限埋入token,在用户通过客户端提出查询请求时,结合系统框架中拦截器的数据拦截功能拦截查询请求并直接从token解析出用户的数据访问权限,为用户的当前查询添加数据过滤条件,从而实现无感知数据过滤查询。
[0027]本专利技术提供一种数据权限控制方法。参照图1所示,为本专利技术一实施例提供的数据权限控制方法的流程示意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据权限控制方法,应用于电子装置,其特征在于,所述方法包括:在系统服务端进行权限配置,根据所述系统服务端预存的用户权限控制表将用户的数据访问权限信息注入用户令牌;其中,在所述用户权限控制表中预留字段架构编码,所述字段架构编码用于根据预设机构编码规则为所述系统所涉及的所有机构进行编码,所述数据访问权限信息包括用户具有数据访问权限的机构编码列表;通过拦截器捕获用户的数据访问请求,根据用户令牌确定所述数据访问请求中符合所述数据访问权限的机构编码,进而对所述数据访问请求进行数据过滤以滤除不在所述数据访问权限内的机构编码;根据过滤后的数据访问请求,从对应数据库提取所述用户的数据访问请求中符合所述用户的数据访问权限的数据。2.如权利要求1所述的数据权限控制方法,其特征在于,所述数据访问权限信息包括is_admin、org_code_list、enable_right_like,其中,is_admin用于标识当前用户是否为超级管理员,所述超级管理员不受数据权限控制,可以查看所有数据;org_code_list用于标识当前用户可以查看数据的机构编码列表;enable_right_like用于标识是否开启右模糊查询,所述右模糊查询用于查询机构所包含的子机构数据。3.如权利要求2所述的数据权限控制方法,其特征在于,所述通过拦截器捕获用户的数据访问请求,根据用户令牌确定所述数据访问请求中符合所述数据访问权限的机构编码,包括:通过拦截器捕获用户在客户端发出的对于数据库的数据访问请求,其中,所述用户令牌随所述数据访问请求发出;根据所述数据访问请求解析所述用户令牌,根据所述用户令牌中的数据访问权限信息,确定所述数据访问请求中符合所述数据访问权限的机构编码。4.如权利要求3中所述的数据权限控制方法,其特征在于,对所述数据访问请求进行数据过滤以滤除不在所述数据访问权限内的机构编码的方法包括:通过org_code_list确定当前用户可以查看数据的机构编码列表,滤除用户请求的数据中没有包含在org_code_list中的数据;通过enable_right_like确定当前用户是否开启右模糊查询;其中,若开启右模糊查询,当前用户具有所述org_code_list中所包含...

【专利技术属性】
技术研发人员:王秀虎
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:

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

1