CN115470518A - 一种数据访问管理方法和装置 - Google Patents
一种数据访问管理方法和装置 Download PDFInfo
- Publication number
- CN115470518A CN115470518A CN202211143914.4A CN202211143914A CN115470518A CN 115470518 A CN115470518 A CN 115470518A CN 202211143914 A CN202211143914 A CN 202211143914A CN 115470518 A CN115470518 A CN 115470518A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- authority
- information
- service data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据访问管理方法和装置,涉及信息安全技术领域。该方法的一具体实施方式包括:拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,数据访问请求包括:用户信息以及业务特征信息;在预先配置的权限管理信息中,查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限;如果是,则根据业务特征信息以及权限管理信息所配置的用户信息的权限范围,查找对应于用户信息的业务数据,并提供查找到的业务数据给客户端。该实施方式解除数据权限与业务之间的耦合,有效地提高数据访问管理的灵活性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据访问管理方法和装置。
背景技术
在互联网应用中,业务数据是企业的核心资产之一,数据的安全对于一个企业稳健运转是至关重要的。特别地,在电商系统中,业务复杂,数据种类繁多,操作系统的人员也是来自各个不同业务部门,需要保证各个人员能够看到和操作的数据只是在其工作范畴之内的部分,而对于工作范畴之外的数据是不可见的,即为不同的人员设置不同的数据访问权限,是保证数据的安全性的一个重要环节。
目前用于管理数据访问权限的代码与具体的业务代码耦合实现,如果需要更改数据访问权限需要修改相应的代码,导致数据访问权限管理灵活性较差。
发明内容
有鉴于此,本发明实施例提供一种数据访问管理方法、装置和系统,能够解除数据权限管理与业务代码之间的耦合,有效地提高数据访问管理的灵活性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据访问管理方法,包括:
拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,所述数据访问请求包括:用户信息以及业务特征信息;
在预先配置的权限管理信息中,查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限;
如果是,则根据所述业务特征信息以及所述权限管理信息所配置的所述用户信息的权限范围,查找对应于所述用户信息的业务数据,并提供查找到的所述业务数据给所述客户端。
可选地,上述数据访问管理方法,还包括:
设置针对业务数据接口的菜单配置项,其中,所述菜单配置项提供多种角色信息以及多个数据权限配置项;
根据接收到的对应所述角色信息配置的一个或多个数据权限配置项,针对所述业务数据接口分配对应于所述角色信息的数据权限以及权限范围;
响应于接收用户信息的注册请求,根据所述注册请求包括的注册角色信息,将针对所述业务数据接口的对应于所述注册角色信息的数据权限以及权限范围分配给对应于所述注册请求的用户信息;
将所述用户信息以及对应的注册角色信息存储到所述权限管理信息,或者,将所述用户信息和所述用户信息分配到的所述数据权限以及所述权限范围对应存储到所述权限管理信息。
可选地,上述数据访问管理方法,还包括:
设置有多个自定义拦截器,每一个所述自定义拦截器对接一个业务数据接口;
根据所述数据访问请求包括的业务特征信息,将拦截到的数据访问请求发送给一个所述自定义拦截器;
通过所述自定义拦截器执行所述查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限的步骤。
可选地,所述针对所述业务数据接口分配对应于所述角色信息的权限范围,包括:
如果所述角色信息配置的数据权限配置项指示调用所有业务数据,则为所述角色信息分配调用全部业务数据的权限范围;
或如果所述角色信息配置的数据权限配置项指示调用部分业务数据,则将所述角色信息配置的数据权限配置项所对应的业务数据标识组成所述角色信息的权限范围。
可选地,所述查找对应于所述用户信息的业务数据,包括:
针对所述用户信息的权限范围由业务数据标识组成的情况,
查找所述业务数据标识所对应的业务数据。
可选地,上述数据访问管理方法,还包括:
判断对应于所述数据访问请求对应的执行方法是否包括第一特征注解,如果是,则直接获取所述业务特征信息对应的业务数据,否则,执行所述查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限的步骤。
可选地,所述提供查找到的所述业务数据给所述客户端,包括:
将查找到的所述业务数据写入到预先针对所述业务数据设置的数据属性类中,以使所述客户端的业务代码继承所述数据属性类中的业务数据。
可选地,上述数据访问管理方法,还包括:配置有对应于所述用户信息配置的行级数据授权表,其中,所述行级数据授权表中包括有对应于授权行的授权类型;
在所述用户信息配置的行级数据授权表中查找目标授权行;
将所述目标授权行的授权类型回填到所述数据属性类写入的所述业务数据所对应的目标授权行的位置。
可选地,上述数据访问管理方法,还包括:
根据所述目标授权行的授权类型,控制所述目标授权行的业务数据在所述客户端的操作类型,其中,所述操作类型包括:编辑、删除、复制、可读中的任意一种或多种。
第二方面,本发明实施例提供一种数据访问管理装置,包括:拦截模块、权限查找模块以及数据提供模块,其中,
所述拦截模块,用于拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,所述数据访问请求包括:用户信息以及业务特征信息;
所述查找模块,用于在预先配置的权限管理信息中,查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限;
所述数据提供模块,用于如果所述查找模块查找到所述用户信息具有访问所述业务特征信息对应的业务数据的数据权限,则根据所述业务特征信息以及所述权限管理信息所配置的所述用户信息的权限范围,查找对应于所述用户信息的业务数据,并提供查找到的所述业务数据给所述客户端。
上述发明中的一个实施例具有如下优点或有益效果:通过拦截客户端发送的针对数据库中业务数据的数据访问请求,并在预先配置的权限管理信息中,查找拦截的数据访问请求包括的用户信息针对业务特征信息的业务数据的数据权限,以确定出该用户信息是否具有访问数据的权限,即通过预先配置的权限管理信息管理用户权限,并通过拦截数据访问请求可以对数据访问请求进行管理,这整个过程可解除数据权限与业务之间的耦合,有效地提高数据访问管理的灵活性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据访问管理方法的主要流程的示意图;
图2是根据本发明实施例的设置权限管理信息的主要流程的示意图;
图3是根据本发明实施例的处理数据访问请求的主要流程的示意图;
图4是根据本发明实施例的数据访问管理装置的主要模块的示意图;
图5是根据本发明实施例的数据访问管理系统的结构示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,涉及数据访问权限管理的代码或者程序与所在的业务程序高度绑定,甚至是定制开发,深度与业务绑定,业务代码与权限代码大量耦合在一起。一方面,现有的这种数据访问管理与业务高度耦合,可造成数据访问可移植性差,由于现有的权限控制高度与业务绑定甚至定制,所以无法以组件的形式快速的服务到其他系统之中。另一方面,由于与业务高度耦合,是高度定制开发的,与不少业务耦合在一起,使得代码复杂度变高,代码的可读性下降,同时也会提高后期的维护成本。
为了解决现有数据访问管理存在的问题,本发明实施例提供一种数据访问管理和装置。
图1示出了本发明实施例提供的一种数据访问管理方法的主要流程示意图。如图1所示,该数据访问管理方法可包括如下步骤:
步骤S101:拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,数据访问请求包括:用户信息以及业务特征信息;
步骤S102:在预先配置的权限管理信息中,查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限;如果是,则执行步骤S103;否则,结束当前流程;
步骤S103:根据业务特征信息以及权限管理信息所配置的用户信息的权限范围,查找对应于用户信息的业务数据,并提供查找到的业务数据给客户端。
其中,用户信息可以是用户登录客户端或者网页的账号、业务服务器为用户分配的编号等能够唯一识别不同用户的信息。
业务特征信息是指用来指示待查询的业务数据的数据标识、数据名称等能够定位业务数据在数据库存放位置的信息。
其中,预先配置的权限管理信息可以用来管理不同用户的数据权限以及权限范围。
其中,通过查找用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限,以控制当前用户是否能继续访问数据。具体地,通过执行的SQL对象路径读取后台预先配置的权限管理信息,其中,数据权限可有三种情况:
第一种情况,查找结果指示用户信息完全没有数据权限,即当前业务的权限级别高于用户或者用户未获得对应授权,不具备当前操作任何权限,中断操作;
第二种情况,查找结果指示用户信息拥有部分权限,即用户对该操作中涉及的全部数据只拥有部分数据的权限,相应地,查找对应于用户信息的业务数据的具体实现可以为:获取拥有权限部分数据唯一标识id集合,同时解析并修改将要执行的SQL语句,执行修改后的SQL语句,获取在用户可操作范围之内的数据并返回给客户端或者用户;
第三种情况,查找结果指示用户信息拥有完全权限,用户的权限高于业务的权限或者用户获得授权,相应地,查找对应于用户信息的业务数据的具体实现则为继续执行原来的SQL返回数据。
在图1所示的实施例中,通过拦截客户端发送的针对数据库中业务数据的数据访问请求,并在预先配置的权限管理信息中,查找拦截的数据访问请求包括的用户信息针对业务特征信息的业务数据的数据权限,以确定出该用户信息是否具有访问数据的权限,即通过预先配置的权限管理信息管理用户权限,并通过拦截数据访问请求可以对数据访问请求进行管理,这整个过程可解除数据权限与业务之间的耦合,有效地提高数据访问管理的灵活性。
另外,本发明实施例提供的数据权限管理可与业务完全解耦,实现无侵入性数据访问。
另外,本发明实施例提供的数据访问管理方法可通过插件的方式加上信息配置达到对SSM架构(Spring框架+Spring MVC+MyBatis的组合)系统的权限控制,保证业务与控制相互独立降低耦合,提升代码的可复用性,由于以插件的形式实现,可支持快速的插拔,提升开发效率,降低系统搭建底层能力得开发周期与成本。其中,SSM为Spring+SpringMVC+Mybatis组成,且Spring、SpringMVC、Mybatis均是由java编程语言开发出的框架,其中Spring主要是用于对于系统中对象的管理,SpringMvc主要是用于前端请求转发,Mybatis主要用于系统操作数据库的持久化框架。
实现该数据访问管理方法的插件可以应用于终端设备的前端部分比如网页、小程序或者应用程序等,也可应用于业务数据的服务端的后台部分。
在本发明实施例中,上述数据访问管理方法还可包括设置权限管理信息。具体地,如图2所示,该设置权限管理信息可包括如下步骤:
步骤S201:设置针对业务数据接口的菜单配置项,其中,菜单配置项提供多种角色信息以及多个数据权限配置项;
该菜单配置项可对涉及到的业务线的业务数据接口进行管理,每一个需要在前端露出的业务数据接口可通过菜单配置项提供的多种角色信息以及多个数据权限配置项相关信息;
步骤S202:根据接收到的对应角色信息配置的一个或多个数据权限配置项,针对业务数据接口分配对应于角色信息的数据权限以及权限范围;
该角色信息是指通过菜单配置项为业务数据接口的权限等级划分出的具有不同权限等级的角色。比如,角色信息可以为指示超级管理员的信息、指示管理员的信息、指示业务管理员的信息、指示普通用户的信息以及指示通用用户的信息等,并且这些角色信息对应的权限依范围次降低。
将针对业务数据接口的对应于注册角色信息的数据权限以及权限范围主要是针对业务数据接口可以访问的业务数据进行角色信息授权、配置回收权限和查看权限等子部分,比如,最高权限管理员可以通过菜单配置项以及数据权限配置项用来管理用户的相关权限。
步骤S203:响应于接收用户信息的注册请求,根据注册请求包括的注册角色信息,将针对业务数据接口的对应于注册角色信息的数据权限以及权限范围分配给对应于注册请求的用户信息;
该注册过程主要对使用人员信息进行管理,使用人员信息包括对用户注册、激活、冻结、职能部门信息查看等。
在该步骤中,为角色信息分配针对业务数据接口的权限范围的具体实施方式可包括:如果角色信息配置的数据权限配置项指示调用所有业务数据,则为角色信息分配调用全部业务数据的权限范围;或如果角色信息配置的数据权限配置项指示调用部分业务数据,则将角色信息配置的数据权限配置项所对应的业务数据标识组成为角色信息的权限范围。比如,角色信息配置的业务数据标识001、003、004等,则对应的权限范围{001,003,004}。
那么后续针对用户信息分配对应的角色信息,可以使用户具有该角色信息对应的数据权限范围,从而实现管理用户的数据权限范围。
步骤S204:将用户信息以及对应的注册角色信息存储到权限管理信息,或者,将用户信息和用户信息分配到的数据权限以及权限范围对应存储到权限管理信息。
相应地,上述为用户信息查找业务数据的具体实施方式可包括:针对用户信息的权限范围由业务数据标识组成的情况,查找业务数据标识对应的业务数据。即针对不同的业务数据库接口,通过为角色信息分配数据权限和权限范围,以按照用户信息所对应的角色信息,实现数据粒度控制数据权限。
在本发明实施例中,如图3所示,上述数据访问管理方法还可进一步包括如下步骤:
步骤S301:设置有多个自定义拦截器,每一个自定义拦截器对接一个业务数据接口;
步骤S302:根据数据访问请求包括的业务特征信息,将拦截到的数据访问请求发送给一个自定义拦截器;
步骤S303:通过自定义拦截器执行查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限的步骤。
上述自定义拦截器是通过继承Mybatis的拦截器(Interceptor)实现的自定义拦截器(MybatisInterceptor)。在本发明实施例中,使用Mybatis做持久化访问数据库时,实际是使用数据库连接会话(SqlSessionFactoryBean)来访问数据库,而在数据库连接会话中预留了一个自定义拦截器的类型对象(plugins),用来作为外部拓展二次开发的接口,因此,通过自定义实现Mybatis的拦截器(Interceptor)的接口连接到自定义拦截器,保证每次数据访问请求都能通过Mybatis的拦截器(Interceptor)进入到自定义拦截器中,以实现对访问进行精准的控制,同时使拦截数据访问请求的实现更简单、易于实现。
另外,数据访问管理方法还可包括:判断对应于数据访问请求的执行方法是否包括第一特征注解,如果是,则直接获取业务特征信息对应的业务数据,否则,执行查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限的步骤。
在该实施例中,定义了@UnLimit注解,将该注解加在对应的执行方法上后,运行执行该方法时可以跳过权限的检查。以在用户信息设置访问部分数据权限或者无权限访问的基础上,更便捷的修改为访问业务数据接口所能够查找的所有业务数据,而无需重新配置权限,同时能够方便快捷的查询数据。
提供查找到的业务数据给客户端可包括:将查找到的业务数据写入到预先针对业务数据设置的数据属性类中,以使客户端的业务代码继承数据属性类中的业务数据。即所有权限属性放在DataAccess类之中,业务代码只需要继承即可,使展示给客户端的业务数据能够融合到业务中,在实现业务数据访问与业务解耦的同时,能够避免业务数据脱离业务。
另外,上述数据访问管理方法,还可进一步包括:配置有对应于用户信息的行级数据授权表,其中,行级数据授权表中包括有对应于授权行的授权类型;在用户信息配置的行级数据授权表中查找目标授权行;将目标授权行的授权类型回填到数据属性类写入的业务数据所对应的目标授权行的位置。
该授权类型主要包括有对具体一个业务需要涉及到行级数据权限的查看、修改、删除等操作权限。具体地,将目标授权行的授权类型回填到数据属性类写入的业务数据所对应的目标授权行的位置,可以为:通过针对DataAccess类填充的业务数据,用其对应的授权类型进行标记,也可以为:针对DataAccess类的特定位置填充该业务数据所对应的目标授权行的授权类型的标识,该特定位置可以为业务数据所对应的标志位、业务数据所对应的属性中对应于目标授权行的位置等,从而使前端页面直接管控用户对业务数据的访问。比如,对于仅标记有查看权限的业务数据,在前端页面隐藏该业务数据的修改、删除等操作按钮。
上述业务数据的授权行,实现对业务数据行级控制,对于每一条业务数据可以精细做到控制编辑、删除、查看和分享等权限。
针对授权行,可以通过自定义一个@DataLimit注解,该注解可加注在业务代码入口,只要标注了此注解就会控制每一条数据的具体权限。
具体地,可通过细小数据行级控制器探测到执行业务需要控制行级权限,从行级数据授权表查询该用户的该业务的授权数据,回填到对应业务数据的DataAccess属性之中,比如,DataAccess中每个具体权限0表示未获得权限,1表示获得权限,默认均未获得授权,前端在解析数据时,对于属性为0的入口不予展示。
即数据访问管理方法还包括:根据目标授权行的授权类型,控制目标授权行的业务数据在客户端的操作类型,其中,操作类型包括:编辑、删除、复制、可读中的任意一种或多种。
另外,为了更加精细话和方便功能拓展,本发明实施例提供的方法的实现自定义了Mybatis的拦截器(Interceptor)的接口,并由自定义拦截器作为总控,每个实现自定义的Mybatis的拦截器(Interceptor)做为子控,当访问进入总控由总控按照当前的状态转发进入对应的子控,以应对数据变动。在探测到对应业务数据发生变动后,做出对应处理和发出通知,其与权限控制相对独立。
整体而言,本方法提出的权限控制方法是依赖于Mybatis做的二次开发实现的,可以做到对后台业务系统的权限整体精细控制,而且控制逻辑与业务完全隔离,对业务无感知,在业务中只需要加入少量的注解即可,另外对于权限的配置与授予完全配置化,可以非常动态的进行相关权限的变更,对于同类系统的搭建具备良好的可以移植性。
本发明通过插件的方式加上少量的配置达到对SSM架构系统的权限控制,保证业务与控制相互独立降低耦合,提升代码的可复用性,支持快速的插拔,提升开发效率,降低系统搭建底层能力得开发周期与成本。
另外,本方案实现无入侵性,权限控制源码与业务源码天然隔离,互不干扰,提升了后期可维护性。可移植性,本方法可作为组件,接入到任何使用SSM框架的系统之上,仅需少量的配置即可完成接入,可以很大的提升开发效率;同时具有良好的拓展性,本方法为防止接入方有局部的特殊控制要求,预留了扩展接口,接入方可以继承实现接口完成自定义的逻辑,达到对系统的自定义控制。
另外,本方案具有高效率低成本,通过本方法使得在接入或者接入后卸载是一件极为简单的事情,不需要考虑对业务的影响。
如图4所示,本发明实施例提供一种数据访问管理装置400,该数据访问管理装置400可包括:拦截模块401、权限查找模块402以及数据提供模块403,其中,
拦截模块401,用于拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,数据访问请求包括:用户信息以及业务特征信息;
查找模块402,用于在预先配置的权限管理信息中,查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限;
数据提供模块403,用于如果查找模块402查找到用户信息具有访问业务特征信息对应的业务数据的数据权限,则根据业务特征信息以及权限管理信息所配置的用户信息的权限范围,查找对应于用户信息的业务数据,并提供查找到的业务数据给客户端。
在本发明实施例中,上述数据访问管理装置400还可包括:配置模块404,其中,
配置模块404,用于设置针对业务数据接口的菜单配置项,其中,菜单配置项提供多种角色信息以及多个数据权限配置项;根据接收到的对应于角色信息配置的一个或多个数据权限配置项,针对业务数据接口分配对应于角色信息的数据权限以及对应的权限范围;响应于接收用户信息的注册请求,根据注册请求包括的注册角色信息,将针对所述业务数据接口的对应于所述注册角色信息的数据权限以及权限范围分配给对应于所述注册请求的用户信息;将用户信息以及对应的注册角色信息存储到所述权限管理信息,或者,将用户信息和用户信息分配到的数据权限以及权限范围对应存储到权限管理信息。
在本发明实施例中,拦截模块401包括拦截器4011以及多个自定义拦截器4012,每一种自定义拦截器4011对接一个业务数据接口;
拦截器4011,用于根据数据访问请求包括的业务特征信息,将拦截到的数据访问请求发送给一个自定义拦截器4012;
自定义拦截器4012,用于执行查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限的步骤。
在本发明实施例中,配置模块404,进一步用于如果角色信息配置的数据权限配置项指示调用所有业务数据,则为角色信息分配调用全部业务数据的权限范围;或如果角色信息配置的数据权限配置项指示调用部分业务数据,则将角色信息配置的数据权限配置项所对应的业务数据标识组成角色信息的权限范围。
在本发明实施例中,数据提供模块403,进一步用于针对用户信息的权限范围由业务数据标识组成的情况,查找业务数据标识所对应的业务数据。
在本发明实施例中,数据提供模块403,进一步用于判断对应于数据访问请求对应的执行方法是否包括第一特征注解,如果是,则直接获取业务特征信息对应的业务数据,否则,执行查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限的步骤。
在本发明实施例中,数据提供模块403,进一步用于将查找到的业务数据写入到预先针对业务数据设置的数据属性类中,以使客户端的业务代码继承数据属性类中的业务数据。
在本发明实施例中,配置模块404,进一步用于配置有对应于用户信息配置的行级数据授权表,其中,行级数据授权表中包括有对应于授权行的授权类型;
数据提供模块403,进一步用于在用户信息配置的行级数据授权表中查找目标授权行;将目标授权行的授权类型回填到数据属性类中写入的业务数据所对应的目标授权行的位置。
在本发明实施例中,数据提供模块403,进一步用于根据目标授权行的授权类型,控制目标授权行的业务数据在客户端的操作类型,其中,操作类型包括:编辑、删除、复制、可读中的任意一种或多种。
如图5所示,本发明实施例提供一种数据访问管理系统500,数据访问管理系统500可包括:客户端501、数据库502以及上述实施例提供的数据访问管理装置400。
其中,该数据访问管理装置400可以以组件或者插件的形式,设置于为客户端501服务的服务器,也可以与客户端501设置于同一终端。
图6示出了可以应用本发明实施例的数据访问管理方法或数据访问管理装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604、服务器605以及数据库606。网络604用以在终端设备601、602、603和服务器605之间、终端设备601、602、603和数据库606之间、服务器605和数据库606之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互或者终端设备601、602、603通过网络604与数据库606交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603发送的数据访问请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据访问请求等数据进行分析等处理,以确定数据访问请求包括的用户信息是否具有业务数据访问权限,并根据确定出的权限范围,从数据库中获取该权限范围内的业务数据反馈给终端设备。
另外,终端设备601、602、603安装的数据访问管理装置还可对终端设备601、602、603安装的应用或客户端发送的数据访问请求进行拦截和处理(仅为示例)。终端设备601、602、603安装的数据访问管理装置确定数据访问请求包括的用户信息是否具有业务数据访问权限,并根据确定出的权限范围,从数据库中获取该权限范围内的业务数据反馈给终端设备601、602、603安装的应用或客户端。
需要说明的是,本发明实施例所提供的数据访问管理方法可由服务器605或者终端设备601、602、603执行,相应地,数据访问管理装置可设置于服务器605或者终端设备601、602、603中。
应该理解,图7中的终端设备、网络、服务器和数据库的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、服务器和数据库。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统700的结构示意图。图7示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括拦截模块、权限查找模块以及数据提供模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,拦截模块还可以被描述为“拦截客户端发送的针对数据库中业务数据的数据访问请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,数据访问请求包括:用户信息以及业务特征信息;在预先配置的权限管理信息中,查找用户信息是否具有访问业务特征信息对应的业务数据的数据权限;如果是,则根据业务特征信息以及权限管理信息所配置的用户信息的权限范围,查找对应于用户信息的业务数据,并提供查找到的业务数据给客户端。
根据本发明实施例的技术方案,通过拦截客户端发送的针对数据库中业务数据的数据访问请求,并在预先配置的权限管理信息中,查找拦截的数据访问请求包括的用户信息针对业务特征信息的业务数据的数据权限,以确定出该用户信息是否具有访问数据的权限,即通过预先配置的权限管理信息管理用户权限,并通过拦截数据访问请求可以对数据访问请求进行管理,这整个过程可解除数据权限与业务之间的耦合,有效地提高数据访问管理的灵活性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种数据访问管理方法,其特征在于,包括:
拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,所述数据访问请求包括:用户信息以及业务特征信息;
在预先配置的权限管理信息中,查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限;
如果是,则根据所述业务特征信息以及所述权限管理信息所配置的所述用户信息的权限范围,查找对应于所述用户信息的业务数据,并提供查找到的所述业务数据给所述客户端。
2.根据权利要求1所述的数据访问管理方法,其特征在于,还包括:
设置针对业务数据接口的菜单配置项,其中,所述菜单配置项提供多种角色信息以及多个数据权限配置项;
根据接收到的对应所述角色信息配置的一个或多个数据权限配置项,针对所述业务数据接口分配对应于所述角色信息的数据权限以及权限范围;
响应于接收用户信息的注册请求,根据所述注册请求包括的注册角色信息,将针对所述业务数据接口的对应于所述注册角色信息的数据权限以及权限范围分配给对应于所述注册请求的用户信息;
将所述用户信息以及对应的注册角色信息存储到所述权限管理信息,或者,将所述用户信息和所述用户信息分配到的所述数据权限以及所述权限范围对应存储到所述权限管理信息。
3.根据权利要求1所述的数据访问管理方法,其特征在于,还包括:
设置有多个自定义拦截器,每一个所述自定义拦截器对接一个业务数据接口;
根据所述数据访问请求包括的业务特征信息,将拦截到的数据访问请求发送给一个所述自定义拦截器;
通过所述自定义拦截器执行所述查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限的步骤。
4.根据权利要求2所述的数据访问管理方法,其特征在于,所述针对所述业务数据接口分配对应于所述角色信息的权限范围,包括:
如果所述角色信息配置的数据权限配置项指示调用所有业务数据,则为所述角色信息分配调用全部业务数据的权限范围;
或如果所述角色信息配置的数据权限配置项指示调用部分业务数据,则将所述角色信息配置的数据权限配置项所对应的业务数据标识组成所述角色信息的权限范围。
5.根据权利要求4所述的数据访问管理方法,其特征在于,所述查找对应于所述用户信息的业务数据,包括:
针对所述用户信息的权限范围由业务数据标识组成的情况,
查找所述业务数据标识所对应的业务数据。
6.根据权利要求1所述的数据访问方法,其特征在于,还包括:
判断对应于所述数据访问请求的执行方法是否包括第一特征注解,如果是,则直接获取所述业务特征信息对应的业务数据,否则,执行所述查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限的步骤。
7.根据权利要求1所述的数据访问管理方法,其特征在于,所述提供查找到的所述业务数据给所述客户端,包括:
将查找到的所述业务数据写入到预先针对所述业务数据设置的数据属性类中,以使所述客户端的业务代码继承所述数据属性类中的业务数据。
8.根据权利要求7所述的数据访问管理方法,其特征在于,
还包括:配置有对应于所述用户信息的行级数据授权表,其中,所述行级数据授权表中包括有对应于授权行的授权类型;
在所述用户信息配置的行级数据授权表中查找目标授权行;
将所述目标授权行的授权类型回填到所述数据属性类写入的所述业务数据所对应的目标授权行的位置。
9.根据权利要求8所述的数据访问管理方法,其特征在于,还包括:
根据所述目标授权行的授权类型,控制所述目标授权行的业务数据在所述客户端的操作类型,其中,所述操作类型包括:编辑、删除、复制、可读中的任意一种或多种。
10.一种数据访问管理装置,其特征在于,包括:拦截模块、权限查找模块以及数据提供模块,其中,
所述拦截模块,用于拦截客户端发送的针对数据库中业务数据的数据访问请求,其中,所述数据访问请求包括:用户信息以及业务特征信息;
所述查找模块,用于在预先配置的权限管理信息中,查找所述用户信息是否具有访问所述业务特征信息对应的业务数据的数据权限;
所述数据提供模块,用于如果所述查找模块查找到所述用户信息具有访问所述业务特征信息对应的业务数据的数据权限,则根据所述业务特征信息以及所述权限管理信息所配置的所述用户信息的权限范围,查找对应于所述用户信息的业务数据,并提供查找到的所述业务数据给所述客户端。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143914.4A CN115470518A (zh) | 2022-09-20 | 2022-09-20 | 一种数据访问管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143914.4A CN115470518A (zh) | 2022-09-20 | 2022-09-20 | 一种数据访问管理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115470518A true CN115470518A (zh) | 2022-12-13 |
Family
ID=84333201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211143914.4A Pending CN115470518A (zh) | 2022-09-20 | 2022-09-20 | 一种数据访问管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115470518A (zh) |
-
2022
- 2022-09-20 CN CN202211143914.4A patent/CN115470518A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430666B (zh) | 租户锁箱 | |
US11258800B2 (en) | Managing admin controlled access of external resources to group-based communication interfaces via a group-based communication system | |
US10380551B2 (en) | Mixed collaboration teams | |
CN109981322B (zh) | 基于标签的云资源管理的方法和装置 | |
CN113495921A (zh) | 一种数据库集群的路由方法和装置 | |
CN111427701A (zh) | 一种工作流引擎系统和业务处理方法 | |
US20230410053A1 (en) | Discoverable collaboration teams | |
CN110706093A (zh) | 一种账务处理方法和装置 | |
JP2015511749A (ja) | ローカル・データーおよびリモート・データーの同期 | |
CN107835181A (zh) | 服务器集群的权限管理方法、装置、介质和电子设备 | |
CN113761552A (zh) | 一种访问控制方法、装置、系统、服务器和存储介质 | |
CN110609656B (zh) | 存储管理方法、电子设备和计算机程序产品 | |
CN113010238A (zh) | 一种微应用调用接口的权限确定方法、装置和系统 | |
US8341530B1 (en) | Customer service center database management | |
US20210064775A1 (en) | Nlp workspace collaborations | |
CN111984686A (zh) | 一种数据处理的方法和装置 | |
CN115470518A (zh) | 一种数据访问管理方法和装置 | |
CN115438333A (zh) | 一种权限分配的方法和装置 | |
CN114722108A (zh) | 客服数据处理方法、装置、电子设备和存储介质 | |
CN111147470A (zh) | 账号授权的方法、装置及电子设备 | |
US9961132B2 (en) | Placing a user account in escrow | |
US20240143352A1 (en) | Unified Management Interface | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
US20230300094A1 (en) | Multichannel messaging systems and methods | |
KR102360698B1 (ko) | 통합 통신 환경에서의 서비스 제공 방법 및 그를 위한 통합 통신 서버 |
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 |