一种数据处理的方法和装置制造方法及图纸

技术编号:21224672 阅读:24 留言:0更新日期:2019-05-29 05:25
本发明专利技术实施例适用于数据处理技术领域,提供了一种数据处理的方法和装置,所述方法包括:接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;显示所述用户数据。本实施例通过调用数据权限过滤器对SQL语句进行修改,将用户的权限信息加入SQL语句中,无论涉及到权限修改的模块有多少个,实际上都只需要一次修改即可完成对相应数据的权限过滤,提高了权限过滤的操作灵活性。

A Data Processing Method and Device

The embodiment of the present invention is applicable to the field of data processing technology, and provides a method and device for data processing. The method includes: receiving a user's request to access a database, the request is a structured query language SQL statement, which carries the user ID of the user, and determining the user's permission information configured in the business code according to the user ID; According to the permission information, the pre-set data permission filter is invoked to modify the SQL statement to the target SQL statement; the user data matching the permission information is obtained by executing the target SQL statement; and the user data is displayed. This example modifies the SQL statement by calling the data permission filter, and adds the user's permission information to the SQL statement. No matter how many modules are involved in the permission modification, in fact, it only needs one modification to complete the permission filtering of the corresponding data, which improves the flexibility of the permission filtering operation.

【技术实现步骤摘要】
一种数据处理的方法和装置
本专利技术属于数据处理
,特别是涉及一种数据处理的方法、一种数据处理的装置、一种终端设备及一种计算机可读存储介质。
技术介绍
数据权限过滤是指对于同一个接口或数据库提供的数据,针对不同的用户进行不同的过滤显示。例如,对于某个数据库中的多条数据,部门经理可以浏览全部的数据,而部门内的其他同事经过权限过滤后只能够浏览其中的一部分数据。目前,常见的权限过滤主要是针对url的过滤。url的过滤就是一种“是与否”的过滤,针对同一个url,如www.***.com,部门经理可以访问,而他的下属则不能访问。url的权限过滤无法实现对该url对应的网站内的部分数据或资源进行针对性的过滤。如果希望对网站内的一部分数据进行过滤,按照现有技术中的处理方式就需要侵入业务代码。侵入业务代码是指在修改权限时,需要业务代码理解网站或数据库原本的框架代码,并继承该框架所提供的类,在业务代码中引入框架代码的信息。侵入式的代码修改操作起来非常繁琐,灵活性也较差。例如,对于公司内部的一个网站或系统,可能包括有人员管理、数据管理、物流管理等多个模块。假设在总监的权限由当前可以查看包括副总监、经理以及普通员工等全部下属的资料,变更为仅仅能够查看副总监和经理等直接下属的资料时,就需要对上述各个模块的代码均做出修改。每一次权限变更都需要按照不同模块的框架重写业务代码。由于用户的权限可能是动态调整的,如果网站中包括100个模块,那么每次权限变更相应的就需要对100处业务代码进行修改,工作量十分巨大。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数据处理的方法和装置,以解决现有技术中实现对部分数据的权限过滤需要侵入式的修改业务代码的问题。本专利技术实施例的第一方面提供了一种数据处理的方法,包括:接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;显示所述用户数据。本专利技术实施例的第二方面提供了一种数据处理的装置,包括:接收模块,用于接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;确定模块,用于根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;修改模块,用于依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;获取模块,用于获取通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;显示模块,用于显示所述用户数据。本专利技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据处理的方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理的方法的步骤。与
技术介绍
相比,本专利技术实施例包括以下优点:本专利技术实施例,在接收到用户访问数据库的请求后,可以根据该请求中携带的用户ID,确定在业务代码中配置的该用户的权限信息,然后依据上述权限信息,调用预置的数据权限过滤器将SQL语句修改为目标SQL语句,通过执行目标SQL语句可以获取与上述权限信息相匹配的用户数据并向用户显示该数据。本实施例通过调用数据权限过滤器对SQL语句进行修改,将用户的权限信息加入SQL语句中,无论涉及到权限修改的模块有多少个,实际上都只需要一次修改即可完成对相应数据的权限过滤,提高了权限过滤的操作灵活性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例的一种数据处理的方法的步骤流程示意图;图2是本专利技术一个实施例的另一种数据处理的方法的步骤流程示意图;图3是本专利技术一个实施例的一种数据处理的装置的示意图;图4是本专利技术一个实施例的一种终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本专利技术。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。下面通过具体实施例来说明本专利技术的技术方案。参照图1,示出了本专利技术一个实施例的一种数据处理的方法的步骤流程示意图,具体可以包括如下步骤:S101、接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;需要说明的是,本实施例中的数据库可以存储有各种类型的数据表,不同的数据类型可以分别存储于不同的数据表或同一张数据表的不同字段中。本实施例对数据类型不作限定。在本专利技术实施例中,用户对数据库的访问请求可以是直接对该数据库的访问操作,也可以是通过与该数据库连接的管理系统而发起的访问操作。存储于数据库各张数据表及其表中各个字段的数据在被加载后,可以生成管理系统的各个页面或者各个页面中的不同数据模块。例如,在上述管理系统中,可以包括有多个模块,如人员管理模块、数据管理模块、物流管理模块等等。不同的模块可以与数据表或表中的某一字段存储的数据对应。如通过执行数据表A中的字段Aa的数据可以生成人员管理模块,通过执行数据表B中的字段Ba的数据可以生成物流管理模块。为了便于理解,本实施例以用户通过管理系统发起访问数据库的请求为例进行后续介绍。在具体实现中,管理系统可以通过终端设备的显示屏提供一登录界面,用于用户登录数据库时使用。在该登录界面中可以包括用于输入用户ID及密码的登录框。当用户在登录框中输入用户ID及其对应的密码后,可以首先验证该用户ID及其密码是否正确。如果正确,则可以认为相当于用户发起了访问数据库的请求,该请求可以以SQL(StructuredQueryLanguage,结构化查询语言)语句的形式发送至数据库。例如,上述SQL语句可以表示为:selecttablefromdatabasewhereid_002,其中,id_002表示该用户的用户ID,上述SQL语句表示查询指定数据库中的所有数据表。当然,上述SQL语句仅为一种简单的示例,并非系统在实际运行过程中所执行的程序语言。S102、根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;通常,对于某个管理系统,不同用户可以使用的功能或权限是不同的。例如,在管理系统中,具有总监职务的用户可以查看包括副总监、经理以及其他普通员工等全部下属的数据;而普通员工则只能在系统中查看本人的数据。在本专利技术实施例中,可以根据各个用户的不同权限,以用户ID为基准,将该用户ID对应的权限信息写入业务代码中。例如,如下表一所示,是一种用户的权限信息的示例。表一;用户权限信息示例用户ID权限信息id_0本文档来自技高网
...

【技术保护点】
1.一种数据处理的方法,其特征在于,包括:接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;显示所述用户数据。

【技术特征摘要】
1.一种数据处理的方法,其特征在于,包括:接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;显示所述用户数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述用户ID,确定在业务代码中配置的所述用户的权限信息的步骤包括:遍历在业务代码中配置的权限信息,所述权限信息包括数据表及数据表字段信息;确定与所述用户ID相对应的目标数据表及目标数据表字段信息。3.根据权利要求2所述的方法,其特征在于,所述依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句的步骤包括:调用预置的数据权限过滤器,所述数据权限过滤器经由对特定开源框架的拦截类进行处理生成;采用所述数据权限过滤器将所述目标数据表及目标数据表字段信息写入所述SQL语句中,生成目标SQL语句。4.根据权利要求3所述的方法,其特征在于,所述通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据的步骤包括:确定与所述目标SQL语句中的目标数据表及目标数据表字段信息相对应的用户数据;采用所述数据权限过滤器获取存储于预设权限过滤文件中的所述用户数据。5.根据权利要求1所述的方法,其特征在于,还包括:接收修改所述用户的权限信息的指令,所述指令中携带有用户ID和待修改的数据表及数据表字段信息;根据所述用户ID,采用所述待修改的数...

【专利技术属性】
技术研发人员:肖昌辉
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1