CN109815284B - 一种数据处理的方法和装置 - Google Patents
一种数据处理的方法和装置 Download PDFInfo
- Publication number
- CN109815284B CN109815284B CN201910007887.XA CN201910007887A CN109815284B CN 109815284 B CN109815284 B CN 109815284B CN 201910007887 A CN201910007887 A CN 201910007887A CN 109815284 B CN109815284 B CN 109815284B
- Authority
- CN
- China
- Prior art keywords
- user
- data
- authority
- data table
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000001914 filtration Methods 0.000 claims abstract description 29
- 230000004048 modification Effects 0.000 claims abstract description 23
- 238000012986 modification Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 21
- 238000007726 management method Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例适用于数据处理技术领域,提供了一种数据处理的方法和装置,所述方法包括:接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;显示所述用户数据。本实施例通过调用数据权限过滤器对SQL语句进行修改,将用户的权限信息加入SQL语句中,无论涉及到权限修改的模块有多少个,实际上都只需要一次修改即可完成对相应数据的权限过滤,提高了权限过滤的操作灵活性。
Description
技术领域
本发明属于数据处理技术领域,特别是涉及一种数据处理的方法、一种数据处理的装置、一种终端设备及一种计算机可读存储介质。
背景技术
数据权限过滤是指对于同一个接口或数据库提供的数据,针对不同的用户进行不同的过滤显示。例如,对于某个数据库中的多条数据,部门经理可以浏览全部的数据,而部门内的其他同事经过权限过滤后只能够浏览其中的一部分数据。
目前,常见的权限过滤主要是针对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(Structured Query Language,结构化查询语言)语句的形式发送至数据库。例如,上述SQL语句可以表示为:select table from database where id_002,其中,id_002表示该用户的用户ID,上述SQL语句表示查询指定数据库中的所有数据表。
当然,上述SQL语句仅为一种简单的示例,并非系统在实际运行过程中所执行的程序语言。
S102、根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;
通常,对于某个管理系统,不同用户可以使用的功能或权限是不同的。例如,在管理系统中,具有总监职务的用户可以查看包括副总监、经理以及其他普通员工等全部下属的数据;而普通员工则只能在系统中查看本人的数据。
在本发明实施例中,可以根据各个用户的不同权限,以用户ID为基准,将该用户ID对应的权限信息写入业务代码中。
例如,如下表一所示,是一种用户的权限信息的示例。
表一;用户权限信息示例
用户ID | 权限信息 |
id_001 | 数据表A字段Aa;数据表B字段Bb |
id_002 | 数据表A字段Aa;数据表B字段Ba |
id_003 | 数据表A字段Ab |
…… | …… |
在本发明实施例中,在接收到用户访问数据库的请求后,可以根据请求中携带的用户ID,从业务代码中查找出对应于该用户ID的权限信息。
S103、依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;
在本发明实施例中,可以通过开源框架生成数据权限过滤器。例如,主流的ORM(Object Relational Mapping,对象关系映射)框架。
ORM框架采用元数据来描述对象与关系之间的映射细节,元数据一般采用XML(Extensible Markup Language,可扩展标记语言)格式,并且存放在专门的对象-映射文件中。
基于ORM框架的myBatis(一种特定类型的框架)支持普通的SQL查询、存储过程和高级映射等功能,并提供了一种拦截类(Intercepter)允许用户自定义一些功能。因此,在具体实现中,可以在此框架和类的基础上通过自定义的形式创建出数据权限过滤器。
在本发明实施例中,为了实现对不同用户所浏览的页面或模块进行区别控制,在接收到用户访问数据库的请求后,可以调用预置的数据权限过滤器,对请求中的SQL语句进行修改,将该用户的权限信息加入至上述SQL语句中,生成目标SQL语句。
例如,若当前用户的用户ID为id_002,其对应的权限为可以访问数据表A中的字段Aa,以及数据表B中的字段Ba,那么,便可以通过数据权限过滤器将上述权限信息写入SQL语句中。
S104、通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;
由于用户在管理系统中所能浏览或查看的具体数据(模块)是基于业务代码,通过执行SQL语句来实现的,因此,在完成对SQL语句的修改后,可以执行修改后的目标SQL语句,并获取相应的用户数据。
即,对于用户ID为id_002,可以通过执行修改后的目标SQL语句,获取到在数据表A中的字段Aa,以及数据表B中的字段Ba下存储的数据。
需要说明的是,上述通过执行修改SQL语句获取的用户数据仅仅是需要进行权限控制的数据,而对于全部用户均能够访问的公共数据,则无需按照此种方式进行获取。
S105、显示所述用户数据。
在数据权限过滤器完成对SQL语句的修改后,管理系统可以通过执行修改后的目标SQL语句提取出相应的用户数据,并向用户进行展示。
需要说明的是,向用户展示的与其权限相对应的数据可以是原始的数据。例如,用户查找某个数据表中具体的数据时,可以直接向该用户展示相应的原始数据。
或者,也可以是展示对原始数据进行处理后的数据。例如,用户当前访问某个网站,可以根据用户的权限提取相应的数据并生成具体的网页页面,从而将网页页面展示给该用户,本实施例对显示数据的方式不做限定。
在本发明实施例中,在接收到用户访问数据库的请求后,可以根据该请求中携带的用户ID,确定在业务代码中配置的该用户的权限信息,然后依据上述权限信息,调用预置的数据权限过滤器将SQL语句修改为目标SQL语句,通过执行目标SQL语句可以获取与上述权限信息相匹配的用户数据并向用户显示该数据。本实施例通过调用数据权限过滤器对SQL语句进行修改,将用户的权限信息加入SQL语句中,无论涉及到权限修改的模块有多少个,实际上都只需要一次修改即可完成对相应数据的权限过滤,提高了权限过滤的操作灵活性。
参照图2,示出了本发明一个实施例的另一种数据处理的方法的步骤流程示意图,具体可以包括如下步骤:
S201、接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;
在本发明实施例中,用户与数据库之间的交互可以通过管理系统来实现。管理系统可以通过终端设备的显示屏提供一登录界面,用于用户登录系统时使用,数据库中存储的数据通过加载至管理系统中,可以生成管理系统的各个页面或模块。例如,通过执行数据表A中的字段Aa的数据可以生成人员管理模块,通过执行数据表B中的字段Ba的数据可以生成物流管理模块。
在本发明实施例中,用户访问数据库的请求可以SQL语句的形式发送至数据库。例如,上述SQL语句可以表示为:select table from database where id_002,其中,id_002表示该用户的用户ID,上述SQL语句表示查询指定数据库中的所有数据表。
S202、根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;
在本发明实施例中,可以根据各个用户的不同权限,以用户ID为基准,将该用户ID对应的权限信息写入业务代码中,上述权限信息可以是数据表及数据表字段信息。
例如,如下表二所示,是一种用户的权限信息的示例。
表二;用户权限信息示例
用户ID | 权限信息 |
id_001 | 数据表A字段Aa、Ab;数据表B字段Ba、Bb |
id_002 | 数据表A字段Aa;数据表B字段Ba |
id_003 | 数据表A字段Ab |
…… | …… |
需要说明的是,对于需要进行权限控制的数据表或数据表字段,可以首先将其配置为权限过滤文件。
例如,若需要做数据权限过滤的数据表包括数据表A和数据表B,具体地,可以是数据表A中的字段Aa、Ab和数据表B中的字段Ba、Bb。
在确定上述需要进行权限控制的数据信息后,可以将上述信息写入单独的配置文件中进行存储,这些信息可以在权限过滤时提供给过滤器使用。
在本发明实施例中,在确定用户ID对应的权限信息时,可以遍历在业务代码中配置的权限信息,然后确定与该用户ID相对应的目标数据表及目标数据表字段信息。
S203、调用预置的数据权限过滤器,所述数据权限过滤器经由对特定开源框架的拦截类进行处理生成;
在本发明实施例中,数据权限过滤器可以基于开源框架ORM生成。基于ORM框架的myBatis支持普通的SQL查询、存储过程和高级映射等功能,并提供了一种拦截类允许用户自定义一些功能。因此,可以在此框架和类的基础上通过自定义的形式创建出数据权限过滤器。
S204、采用所述数据权限过滤器将所述目标数据表及目标数据表字段信息写入所述SQL语句中,生成目标SQL语句;
在本发明实施例中,为了实现对不同用户所浏览的页面或模块进行区别控制,在接收到用户访问数据库的请求后,可以调用预置的数据权限过滤器,对请求中的SQL语句进行修改,将该用户所能访问的目标数据表及目标数据表字段信息加入至上述SQL语句中,生成目标SQL语句。
例如,若当前用户的用户ID为id_002,其对应的权限为可以访问数据表A中的字段Aa,以及数据表B中的字段Ba,那么,便可以通过数据权限过滤器将上述权限信息写入SQL语句中。
即,将SQL语句select table from database where id_002修改为目标SQL语句select Aa from table A and Ba from table B where id_002,上述目标SQL语句表示从数据库中获取在数据表A中的字段Aa,以及数据表B中的字段Ba下存储的数据。
S205、通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;
在具体实现中,可以首先确定与目标SQL语句中的目标数据表及目标数据表字段信息相对应的用户数据。
以目标SQL语句为select Aa from table A and Ba from table B where id_002为例,上述目标数据表及目标数据表字段信息相对应的用户数据即是在数据表A中的字段Aa,以及数据表B中的字段Ba下存储的数据。
然后,采用数据权限过滤器获取存储于预设权限过滤文件中的用户数据。
需要说明的是,上述通过执行修改SQL语句获取的用户数据仅仅是需要进行权限控制的数据,而对于全部用户均能够访问的公共数据,则无需按照此种方式进行获取。
S206、显示所述用户数据;
在本发明实施例中,管理系统可以通过执行修改后的目标SQL语句提取出相应的用户数据,并向用户进行展示。
S207、接收修改所述用户的权限信息的指令,所述指令中携带有用户ID和待修改的数据表及数据表字段信息;
在本发明实施例中,还可以根据需要即时地对用户的权限信息进行修改。
例如,在管理系统中,具有总监职务的用户可以查看包括副总监、经理以及其他普通员工等全部下属的数据;而在总监的权限发生变更时,可以通过数据权限过滤对特定字段的数据进行处理,使得总监只能够查看副总监和经理等直接下属的数据。此时,便可以通过修改总监的权限信息来实现。
修改权限信息的指令中可以携带有用户ID和待修改的数据表及数据表字段信息。
例如,若将表二所示的用户ID为id_002的用户的权限信息由可以查看数据表A字段Aa及数据表B字段Ba下的数据,修改为仅能查看数据表A字段Aa下的数据,修改上述权限信息的指令中可以包括上述用户ID即id_002,以及,待修改的权限信息即数据表A字段Aa。
S208、根据所述用户ID,采用所述待修改的数据表及数据表字段信息替换在所述业务代码中配置的所述用户原有的数据表及数据表字段信息。
在本发明实施例中,可以根据用户ID,直接对业务代码中配置的用户权限信息进行替换。
如表三所示,对用户ID为id_002的用户的权限信息进行修改后的权限信息示例。
表三,修改后的权限信息示例
用户ID | 权限信息 |
id_001 | 数据表A字段Aa、Ab;数据表B字段Ba、Bb |
id_002 | 数据表A字段Aa |
id_003 | 数据表A字段Ab |
…… | …… |
需要说明的是,各个用户所具有的权限是根据管理系统或数据库的业务逻辑(针对各个用户,管理系统或数据库所要实现的具体功能)确定的。当用户的权限发生变化时,可以直接对写入业务代码中的上述权限进行修改。在修改时,无需考虑管理系统或数据库原本的框架结构,也不需要在业务代码中引入框架代码的信息,改动成本较小,可以根据业务逻辑及时地进行修改,灵活性较高。
在本发明实施例中,通过使用开源框架ORM生成数据权限过滤器,根据需要做权限过滤的数据表及字段生成权限过滤文件,从而在用户的权限信息发生变更时,可以调用数据权限过滤器修改相关的SQL语句,加入限制条件,实现数据权限的过滤。由于用户权限的变更是通过业务逻辑确定的,无论采用何种方式,修改业务代码都是不可避免的,但本实施例在变更用户权限时,不需要侵入业务代码,采用的是非侵入式的修改方式,无需在业务代码中引入框架代码的信息,对业务代码的改动量较小。本实施例通过对SQL语句进行修改,无论涉及到权限修改的模块或数据表有多少个,实际上都只需要对业务代码做一次修改即可完成权限过滤。同时,通过将SQL语言的编写与业务代码的编写分开处理,也降低了业务系统和权限过滤之间的耦合,提高了权限过滤的操作灵活性。
需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参照图3,示出了本发明一个实施例的一种数据处理的装置的示意图,具体可以包括如下模块:
接收模块301,用于接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;
确定模块302,用于根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;
修改模块303,用于依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;
获取模块304,用于获取通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;
显示模块305,用于显示所述用户数据。
在本发明实施例中,所述确定模块302具体可以包括如下子模块:
遍历子模块,用于遍历在业务代码中配置的权限信息,所述权限信息包括数据表及数据表字段信息;
确定子模块,用于确定与所述用户ID相对应的目标数据表及目标数据表字段信息。
在本发明实施例中,所述修改模块303具体可以包括如下子模块:
调用子模块,用于调用预置的数据权限过滤器,所述数据权限过滤器经由对特定开源框架的拦截类进行处理生成;
写入子模块,用于采用所述数据权限过滤器将所述目标数据表及目标数据表字段信息写入所述SQL语句中,生成目标SQL语句。
在本发明实施例中,所述获取模块304具体可以包括如下子模块:
用户数据确定子模块,用于确定与所述目标SQL语句中的目标数据表及目标数据表字段信息相对应的用户数据;
用户数据获取子模块,用于采用所述数据权限过滤器获取存储于预设权限过滤文件中的所述用户数据。
在本发明实施例中,所述装置还可以包括如下模块:
修改指令接收模块,用于接收修改所述用户的权限信息的指令,所述指令中携带有用户ID和待修改的数据表及数据表字段信息;
权限信息修改模块,用于根据所述用户ID,采用所述待修改的数据表及数据表字段信息替换在所述业务代码中配置的所述用户原有的数据表及数据表字段信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图4,示出了本发明一个实施例的一种终端设备的示意图。如图4所示,本实施例的终端设备400包括:处理器410、存储器420以及存储在所述存储器420中并可在所述处理器410上运行的计算机程序421。所述处理器410执行所述计算机程序421时实现上述数据处理的方法各个实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器410执行所述计算机程序421时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。
示例性的,所述计算机程序421可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器420中,并由所述处理器410执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序421在所述终端设备400中的执行过程。例如,所述计算机程序421可以被分割成接收模块、确定模块、修改模块、获取模块和显示模块,各模块具体功能如下:
接收模块,用于接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID;
确定模块,用于根据所述用户ID,确定在业务代码中配置的所述用户的权限信息;
修改模块,用于依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句;
获取模块,用于获取通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;
显示模块,用于显示所述用户数据。
所述终端设备400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备400可包括,但不仅限于,处理器410、存储器420。本领域技术人员可以理解,图4仅仅是终端设备400的一种示例,并不构成对终端设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备400还可以包括输入输出设备、网络接入设备、总线等。
所述处理器410可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器420可以是所述终端设备400的内部存储单元,例如终端设备400的硬盘或内存。所述存储器420也可以是所述终端设备400的外部存储设备,例如所述终端设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器420还可以既包括所述终端设备400的内部存储单元也包括外部存储设备。所述存储器420用于存储所述计算机程序421以及所述终端设备400所需的其他程序和数据。所述存储器420还可以用于暂时地存储已经输出或者将要输出的数据。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置/终端设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一方面,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据处理的方法,其特征在于,包括:
接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID,所述请求是通过与所述数据库连接的管理系统而发起的访问操作,所述数据库存储有数据表,所述数据表及其各个字段的数据在被加载后用于生成所述管理系统的各个页面或各个页面中的不同数据模块;
根据所述用户ID,确定在业务代码中配置的所述用户的权限信息,所述权限信息是所述用户使用所述管理系统的权限;
依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句,所述目标SQL语句中包含所述用户的权限信息;
通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;
根据所述用户数据生成页面并显示;
其中,所述根据所述用户ID,确定在业务代码中配置的所述用户的权限信息的步骤包括:
遍历在业务代码中配置的权限信息,所述权限信息包括数据表及数据表字段信息;
确定与所述用户ID相对应的目标数据表及目标数据表字段信息;
所述依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句的步骤包括:
调用预置的数据权限过滤器,所述数据权限过滤器经由对特定开源框架的拦截类进行处理生成;
采用所述数据权限过滤器将所述目标数据表及目标数据表字段信息写入所述SQL语句中,生成目标SQL语句。
2.根据权利要求1所述的方法,其特征在于,所述通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据的步骤包括:
确定与所述目标SQL语句中的目标数据表及目标数据表字段信息相对应的用户数据;
采用所述数据权限过滤器获取存储于预设权限过滤文件中的所述用户数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收修改所述用户的权限信息的指令,所述指令中携带有用户ID和待修改的数据表及数据表字段信息;
根据所述用户ID,采用所述待修改的数据表及数据表字段信息替换在所述业务代码中配置的所述用户原有的数据表及数据表字段信息。
4.一种数据处理的装置,其特征在于,包括:
接收模块,用于接收用户访问数据库的请求,所述请求为结构化查询语言SQL语句,所述SQL语句中携带有所述用户的用户ID,所述请求是通过与所述数据库连接的管理系统而发起的访问操作,所述数据库存储有数据表,所述数据表及其各个字段的数据在被加载后用于生成所述管理系统的各个页面或各个页面中的不同数据模块;
确定模块,用于根据所述用户ID,确定在业务代码中配置的所述用户的权限信息,所述权限信息是所述用户使用所述管理系统的权限;
修改模块,用于依据所述权限信息,调用预置的数据权限过滤器将所述SQL语句修改为目标SQL语句,所述目标SQL语句中包含所述用户的权限信息;
获取模块,用于获取通过执行所述目标SQL语句获取与所述权限信息相匹配的用户数据;
显示模块,用于根据所述用户数据生成页面并显示;
其中,所述确定模块包括:
遍历子模块,用于遍历在业务代码中配置的权限信息,所述权限信息包括数据表及数据表字段信息;
确定子模块,用于确定与所述用户ID相对应的目标数据表及目标数据表字段信息;
所述修改模块包括:
调用子模块,用于调用预置的数据权限过滤器,所述数据权限过滤器经由对特定开源框架的拦截类进行处理生成;
写入子模块,用于采用所述数据权限过滤器将所述目标数据表及目标数据表字段信息写入所述SQL语句中,生成目标SQL语句。
5.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述数据处理的方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据处理的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007887.XA CN109815284B (zh) | 2019-01-04 | 2019-01-04 | 一种数据处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007887.XA CN109815284B (zh) | 2019-01-04 | 2019-01-04 | 一种数据处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815284A CN109815284A (zh) | 2019-05-28 |
CN109815284B true CN109815284B (zh) | 2024-08-16 |
Family
ID=66603998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910007887.XA Active CN109815284B (zh) | 2019-01-04 | 2019-01-04 | 一种数据处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815284B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262787B (zh) * | 2019-06-21 | 2022-12-13 | 北京搜房科技发展有限公司 | 语句替换方法、装置和电子设备 |
CN111444543B (zh) * | 2020-04-02 | 2023-02-28 | 南方电网数字平台科技(广东)有限公司 | 数据权限的管理方法及系统 |
CN111400681B (zh) * | 2020-04-07 | 2023-09-12 | 杭州指令集智能科技有限公司 | 数据权限处理方法、装置及设备 |
CN111506611A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 数据的查询方法、装置、设备及存储介质 |
CN111708992B (zh) * | 2020-05-06 | 2023-07-14 | 咪咕文化科技有限公司 | 报表数据访问方法、装置、电子设备及存储介质 |
CN111708804B (zh) * | 2020-06-11 | 2024-03-01 | 中国建设银行股份有限公司 | 数据处理方法、装置、设备及介质 |
CN112000992B (zh) * | 2020-10-29 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 数据防泄漏保护方法、装置、计算机可读介质及电子设备 |
CN112347469A (zh) * | 2020-11-10 | 2021-02-09 | 浙江百应科技有限公司 | 一种低侵入的数据权限处理方法、系统及其电子设备 |
CN112463792A (zh) * | 2020-11-20 | 2021-03-09 | 航天精一(广东)信息科技有限公司 | 一种数据权限控制方法及装置 |
CN112597463A (zh) * | 2020-12-31 | 2021-04-02 | 中国工商银行股份有限公司 | 数据库数据处理方法、装置及系统 |
CN113157781A (zh) * | 2021-01-28 | 2021-07-23 | 绿瘦健康产业集团有限公司 | 一种数据可视化方法、装置、终端设备以及存储介质 |
CN112860728A (zh) * | 2021-02-19 | 2021-05-28 | 深圳市极致科技股份有限公司 | 基于用户环境的数据查询表添加显示列的方法及装置 |
CN112948849A (zh) * | 2021-02-25 | 2021-06-11 | 浙江百应科技有限公司 | 一种轻量级数据权限控制方法、装置及电子设备 |
CN113282591B (zh) * | 2021-06-29 | 2024-06-21 | 深圳平安智汇企业信息管理有限公司 | 权限过滤方法、装置、计算机设备及存储介质 |
CN113535757B (zh) * | 2021-08-12 | 2023-06-23 | 厦门市易联众易惠科技有限公司 | 一种冷热数据的发现方法、装置、设备及可读存储介质 |
CN113704307A (zh) * | 2021-08-31 | 2021-11-26 | 深圳市兆珑科技有限公司 | 数据查询方法、装置、服务器及计算机可读存储介质 |
CN114840521B (zh) * | 2022-04-22 | 2023-03-21 | 北京友友天宇系统技术有限公司 | 数据库的权限管理和数据保护方法、装置、设备和存储介质 |
CN115412293A (zh) * | 2022-07-19 | 2022-11-29 | 网易(杭州)网络有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN115659406B (zh) * | 2022-12-09 | 2023-04-28 | 平安银行股份有限公司 | 一种数据访问方法 |
CN116796306B (zh) * | 2023-08-15 | 2023-11-14 | 浩鲸云计算科技股份有限公司 | 一种同一租户下notebook表权限控制的方法 |
CN118568125B (zh) * | 2024-08-01 | 2024-10-22 | 辽宁中科集成技术有限公司 | 一种安全数据库的管理方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292188A (zh) * | 2016-04-12 | 2017-10-24 | 北京明略软件系统有限公司 | 一种控制用户访问权限的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006194A (ja) * | 2001-06-22 | 2003-01-10 | Mitsubishi Electric Corp | データベースアクセス制御システム |
KR100868037B1 (ko) * | 2006-10-18 | 2008-11-10 | 주식회사 케이티프리텔 | 데이터베이스 접속 통제 방법 및 시스템 |
CN107239710B (zh) * | 2016-03-29 | 2020-06-16 | 北京明略软件系统有限公司 | 一种数据库权限实现方法和系统 |
-
2019
- 2019-01-04 CN CN201910007887.XA patent/CN109815284B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292188A (zh) * | 2016-04-12 | 2017-10-24 | 北京明略软件系统有限公司 | 一种控制用户访问权限的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109815284A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815284B (zh) | 一种数据处理的方法和装置 | |
CN107798038B (zh) | 数据响应方法及数据响应设备 | |
AU2021212135B2 (en) | Building and managing data-processing attributes for modelled data sources | |
CN108874863B (zh) | 一种数据访问的控制方法及数据库访问装置 | |
CN109840257B (zh) | 数据库查询方法、装置、计算机装置及可读存储介质 | |
US10645090B2 (en) | Access control for objects having attributes defined against hierarchically organized domains containing fixed number of values | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
US10671631B2 (en) | Method, apparatus, and computer-readable medium for non-structured data profiling | |
US20230153455A1 (en) | Query-based database redaction | |
WO2021013057A1 (zh) | 数据管理方法、装置、设备与计算机可读存储介质 | |
CN113282591B (zh) | 权限过滤方法、装置、计算机设备及存储介质 | |
CN112733510A (zh) | 一种财务凭证生成方法、装置、设备及计算机可读存储介质 | |
US20230259650A1 (en) | System and method for data privacy policy generation and implementation | |
CN109299613B (zh) | 数据库分区权限的设置方法和终端设备 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN114218254A (zh) | 报表生成方法、装置、设备及存储介质 | |
CN115827589A (zh) | 一种权限验证方法、装置、电子设备及存储介质 | |
US20160140156A1 (en) | Distributed storage system with pluggable query processing | |
US20160072810A1 (en) | Entity-based application selection/installation | |
CN111241347A (zh) | 一种图数据库的创建方法、企业数据查询方法及装置 | |
CN116028956A (zh) | 数据访问权限控制方法、装置、计算机设备及存储介质 | |
CN113867975B (zh) | 一种命令行的快速响应方法、装置和计算机设备 | |
JP2014063447A (ja) | 業務文書処理装置、業務文書処理方法及び業務文書処理プログラム | |
CN111126737B (zh) | 跨场景的交叉分析方法、装置、电子设备及存储介质 | |
US11409729B2 (en) | Managing database object schema virtual changes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |