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处业务代码进行修改,工作量十分巨大。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数据处理的方法和装置,以解 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。