CN110727929A - 基于aop的行级权限控制方法、装置及客户端 - Google Patents
基于aop的行级权限控制方法、装置及客户端 Download PDFInfo
- Publication number
- CN110727929A CN110727929A CN201910966279.1A CN201910966279A CN110727929A CN 110727929 A CN110727929 A CN 110727929A CN 201910966279 A CN201910966279 A CN 201910966279A CN 110727929 A CN110727929 A CN 110727929A
- Authority
- CN
- China
- Prior art keywords
- authority
- target
- identifier
- user
- 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.)
- Granted
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/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
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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 Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种基于AOP的行级权限控制方法、装置及客户端,涉及计算机技术领域。在接收到用户的数据操作请求时,首先根据该用户对应的目标查询标识向权限服务器发送权限查询请求,以从权限服务器存储的权限信息表中获得与目标查询标识对应的目标权限表及目标业务表标识。然后,根据目标权限表中的权限控制规则与目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,并在数据操作请求与该用户的权限信息匹配时,根据数据操作请求对对应的业务数据进行相应操作。由此,可利用AOP方式,在不侵入业务代码的前提下实现数据库行级权限的精确控制,同时可提高开发人员的工作效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于AOP的行级权限控制方法、装置及客户端。
背景技术
由于多部门多用户均需要操作数据,因此需要对数据进行精细的权限控制操作,特别是针对单行数据的操作。目前在进行权限控制时,一般是通过硬编码的形式实现,在业务代码中判断当前用户是否有权限进行操作,并且这种硬编码的形式基本上都是重复性的。由于开发人员编写权限时需要利用硬编码的形式去判断权限,至此跟业务无关的权限判断代码侵入到了业务中,增加了维护的成本,同时也会导致开发人员的工作效率不高。
发明内容
有鉴于此,本申请的目的在于提供一种基于面向切面编程AOP的行级权限控制方法、方法、装置、客户端和可读存储介质。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种基于AOP的行级权限控制方法,应用于与权限服务器通信连接的客户端,所述客户端中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息,所述权限服务器中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限,所述方法包括:
在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,其中,所述目标查询标识中包括该用户所属的目标角色的角色标识;
接收所述权限服务器发送的从存储的权限信息表中获得的与所述目标查询标识对应的目标权限表及目标业务表标识;
根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据;
判断所述数据操作请求与该用户的权限信息是否匹配;
若匹配,则根据所述数据操作请求对对应的业务数据进行相应操作。
第二方面,本申请实施例提供一种基于AOP的行级权限控制方法,应用于通信连接的客户端及权限服务器,所述客户端中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息,所述权限服务器中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限,所述方法包括:
所述客户端在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,其中,所述目标查询标识中包括该用户所属的目标角色的角色标识;
所述权限服务器从存储的权限信息表中获得与所述目标查询标识对应的目标权限表及目标业务表标识,并将所述目标权限表及目标业务表标识发送给所述客户端;
所述客户端根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据;
所述客户端判断所述数据操作请求与该用户的权限信息是否匹配,若匹配,则根据所述数据操作请求对对应的业务数据进行相应操作。
第三方面,本申请实施例提供一种基于AOP的行级权限控制装置,应用于与权限服务器通信连接的客户端,所述客户端中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息,所述权限服务器中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限,所述装置包括:
发送模块,用于在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,其中,所述目标查询标识中包括该用户所属的目标角色的角色标识;
接收模块,用于接收所述权限服务器发送的从存储的权限信息表中获得的与所述目标查询标识对应的目标权限表及目标业务表标识;
权限信息确定模块,用于根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据;
判断模块,用于判断所述数据操作请求与该用户的权限信息是否匹配;
操作模块,用于在匹配时,根据所述数据操作请求对对应的业务数据进行相应操作。
第四方面,本申请实施例提供一种客户端,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式任一所述的基于AOP的行级权限控制方法。
第五方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的基于AOP的行级权限控制方法。
本申请实施例提供的基于AOP的行级权限控制方法、装置及客户端,在接收到用户的数据操作请求时,首先根据该用户对应的目标查询标识向权限服务器发送权限查询请求,以从权限服务器存储的权限信息表中获得与目标查询标识对应的目标权限表及目标业务表标识。然后,根据目标权限表中的权限控制规则与目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,并在数据操作请求与该用户的权限信息匹配时,根据数据操作请求对对应的业务数据进行相应操作。由此,可利用AOP方式,在不侵入业务代码的前提下实现数据库行级权限的精确控制,同时可提高开发人员的工作效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例的客户端与权限服务器的通信示意图;
图2是图1中客户端的方框示意图;
图3是本申请实施例提供的基于AOP的行级权限控制方法的流程示意图之一;
图4是本申请实施例提供的权限表的数据结构示意图;
图5是本申请实施例提供的资源表的数据结构示意图;
图6是本申请实施例提供的业务表的数据结构示意图;
图7是图3中步骤S230包括的子步骤的流程示意图之一;
图8是本申请实施例提供的权限表的示意图;
图9是本申请实施例提供的业务表的示意图;
图10是图3中步骤S230包括的子步骤的流程示意图之二;
图11是本申请实施例提供的基于AOP的行级权限控制方法的流程示意图之二;
图12是本申请实施例提供的基于AOP的行级权限控制装置的方框示意图。
图标:100-客户端;110-存储器;120-处理器;130-通信单元;200-基于AOP的行级权限控制装置;210-发送模块;220-接收模块;230-权限信息确定模块;240-判断模块;250-操作模块;300-权限服务器。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,图1是本申请实施例的客户端100与权限服务器300的通信示意图。至少一个客户端100与该权限服务器300通信连接,客户端100在接收到用户的数据操作请求时,可向该权限服务器300发送权限查询请求,以从该权限服务器300中获得辅助确定该用户的权限信息的辅助信息。然后客户端100可结合辅助信息及各条业务数据的具体情况,确定该用户的权限信息,进而判断是否根据该数据操作请求进行相应操作,从而实现权限控制。其中,所述权限服务器300可以是,但不限于,独立服务器、由多个独立服务器组成的集成服务器、其他可提供该辅助的设备等。
请参照图1,图2是图1中客户端100的方框示意图。所述客户端100中可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有基于AOP(Aspect Oriented Programming,面向切面编程)的行级权限控制装置200,所述基于AOP的行级权限控制装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的基于AOP的行级权限控制装置200,从而执行各种功能应用以及数据处理,实现数据库的行级权限控制。其中,AOP是过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
通信单元130用于通过网络建立所述客户端100与其它通信终端(比如,权限服务器300)之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图2所示的结构仅为客户端100的结构示意图,所述客户端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
请参照图3,图3是本申请实施例提供的基于AOP的行级权限控制方法的流程示意图之一。所述方法应用于与权限服务器300通信连接的客户端100。所述客户端100中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息。所述权限服务器300中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限。下面对基于AOP的行级权限控制方法的具体流程进行详细阐述。该方法包括步骤S210~步骤S250。
步骤S210,在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器300发送权限查询请求。
步骤S220,接收所述权限服务器300发送的从存储的权限信息表中获得的与所述目标查询标识对应的目标权限表及目标业务表标识。
步骤S230,根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据。
步骤S240,判断所述数据操作请求与该用户的权限信息是否匹配。
在所述数据操作请求与该用户的权限信息匹配时,则执行步骤S250。
步骤S250,根据所述数据操作请求对对应的业务数据进行相应操作。
在本实施例中,当用户需要操作数据时,客户端100会接收该用户输入的数据操作请求。接着,客户端100可首先确定该用户对应的查询标识,将其作为目标查询标识,然后向所述权限服务器300发送权限查询请求。其中,所述权限查询请求中包括所述目标查询标识,所述目标查询标识中包括该用户所属的目标角色的角色标识。
所述权限服务器300中的权限信息表中包括与查询标识对应的权限表及业务表标识。所述权限服务器300在接收到该权限查询请求后,可根据目标查询标识进行查找,从而从存储的权限信息表中获得与所述目标查询标识对应的权限表及业务表标识,并将查找到的权限表及业务表标识作为所述目标权限表及目标业务表标识,发送给客户端100。
所述客户端100中存储有多个业务表,每个业务表中存储有至少一条业务数据对应的数据信息。每条业务数据对应的数据信息中,可包括该条业务数据的具体数据内容。可选地,该条数据信息中也可以包括业务数据。所述客户端100在获得目标业务表标识后,可从存储的多个业务表中,获得与该目标业务表标识对应的业务表,并将其作为目标业务表。
在确定目标业务表后,所述客户端100将所述目标业务表中的数据信息与所述目标权限表中的权限控制规则进行匹配,并根据匹配结果确定该用户的权限信息。其中,所述权限信息中可以包括该用户具有的目标操作权限、及该目标操作权限对应的业务数据。其中,权限信息中包括的与目标操作权限对应的业务数据,可以是业务数据本身,也可以是业务数据的业务数据标识。
在确定该用户的权限信息后,可将该权限信息与数据操作请求进行匹配。若匹配,则可根据所述数据操作请求对相应的业务数据,进行相应的操作。若不匹配,则不根据该用户的数据操作请求对对应的数据进行相应操作。可选地,在不匹配时,可弹出相应的提示信息,以提示用户不具有相应的操作权限。
可选地,在本实施例的一种实施方式中,所述数据操作请求中包括待操作的业务数据的业务数据标识及具体的操作要求(比如,查询),权限信息中包括用户具有的目标操作权限、该目标操作权限对应的业务数据标识。在匹配时,若权限信息中不包括数据操作请求中的业务数据标识,则可确定所述操作请求与权限信息不匹配。若权限信息包括数据操作请求中的业务数据标识,但数据操作请求中的业务数据标识在权限信息中对应的目标权限,和数据操作请求中的操作要求不同,也可确定所述操作请求与权限信息不匹配。
比如,数据操作请求为期望对业务数据标识1对应的业务数据更改,而权限信息中的业务数据标识1对应的目标操作权限为读取查询,由此可确定该用户不具有对业务数据标识1对应的业务数据进行更改的操作权限,该用户的权限信息与数据操作要求不匹配。
在本实施例中,通过远程服务配置行级权限、AOP的方式,使得开发人员在不需要通过硬编码方式写具体权限判断代码的情况下,实现对业务代码中行级数据权限的控制。由此,即可实现精确的权限控制,还能够提高开发人员的工作效率,并且能够降低维护成本。
并且,在现如今多种数据库例(比如,mysql、mongodb、ES等)流行的情况下,目前在对不同数据库进行增加(create)、读取查询(retrieve)、更新(update)操作时,实现方式存在很大的差异,由此会进一步降低开发人员的工作效率。而在本实施例中,还可以结合JPA(Java持久层API)和DSL(Structured Query Language,结构化查询语言)对不同数据源的上层的能装,实现对不同数据源的增加(create)、读取查询(retrieve)、更新(update)的支持,从而进一步地提高开发人员的工作效率。
在该过程中,开发人员只需在业务表中添加需要权限控制的固定字段,以确定数据信息中的具体内容,即可使得在编写业务代码时,仅需关注业务逻辑。具体的权限控制则可在作为远程服务配置中心的权限服务器300中配置,也就是说,开发人员只需通过简单的插件引入和开关,就可以在不侵入当前业务代码编写逻辑的情况下,对多数据库进行行级权限控制。
在本实施例中,获得的目标权限表可能仅为一个,也可能为多个。若为多个,则可将由每个目标权限表得到的权限信息进行汇总,作为最终的权限信息。后续判断根据所述数据操作请求执行相应操作时,则根据上述最终的权限信息进行判断。
可选地,所述客户端100中还可以设置有权限控制开关。若权限控制开关为打开状态,则可执行上述基于AOP的行级权限控制方法。若权限控制开关为关闭状态,则在接收到数据操作请求时,可直接执行相应操作。
在本实施例中,所述客户端100中还可以存储有角色表。所述角色表中包括用户标识及与用户标识对应的角色标识。所述客户端100可根据用户的用户标识及角色表确定该用户对应的目标查询标识。其中,用户标识可以是用户名、登录名等,比如,user1。
可选地,在本实施例的一种实施方式中,所述客户端100在接收到用户的数据操作请求时,根据该用户的用户标识在角色表中进行查找,以获得与该用户对应的角色标识。该角色标识表示该用户所属的角色。可选地,角色标识可分为:maseter、slave、other。然后将获得的该角色标识作为目标查询标识,进而根据该目标查询标识向所述权限服务器300发送权限查询请求。
对应地,所述权限信息表中的查询标识也为角色标识。例如,所述权限信息表包括Role_id字段,该Role_id字段的具体内容则为具体的角色标识,比如,maseter。由此,可根据用户的角色进行数据行级权限控制。
可选地,在本实施例的另一种实施方式中,所述客户端100在获得角色标识后,根据该客户端100的客户端标识及获得的角色标识,得到所述目标查询标识,然后根据该目标查询标识向权限服务器300发送权限查询请求。由此,便于对分布式系统的数据进行行级权限控制。
可选地,可将客户端标识及角色标识进行相应处理,以生成一个标识,从而作为目标查询标识,对应地,权限信息表中则包括具体的各种查询标识。还可以直接将客户端标识+角色标识作为所述目标查询标识。例如,权限信息表中包括Role_id字段、Sys_id字段,该Role_id字段的具体内容则为具体的角色标识,比如,maseter;Sys_id字段则为具体的客户端标识。
在本实施例中,所述权限信息表的具体形式可以根据具体需求设置。比如,设置为一个表,该表中包括与不同查询标识对应的权限表及业务表标识;或为多个表的集合。
可选地,在本实施例的一种实施方式,所述权限信息表中不仅包括权限表,还可以包括资源表。所述权限表中包括资源表标识,所述资源表中包括业务表标识。如图4所示,该权限表中包括Resource_id字段、Type字段,Resource_id字段表示资源表标识,Type字段表示操作权限,比如,读取查询、更新、删除。可选地,权限表中也可以包括查询标识。如图5所示,资源表中包括full_name字段,full_name字段表示业务表标识。
在所述权限信息表中包括权限表及资源表时,所述权限服务器300可经以下方式获得目标权限表及目标业务表标识。所述权限服务器300首先根据权限查询请求中的目标查询标识,在存储的所有权限表中进行查找,以获得与目标查询标识对应的目标权限表,并将目标权限表中包括的资源表标识作为目标资源表标识。然后根据目标资源表标识,在存储的所有资源表进行查找,以获得与目标资源表标识对应的资源表(即目标资源表),并将该资源表中包括的业务表标识作为目标业务表标识。
请参照图6,图6是本申请实施例提供的业务表的数据结构示意图。业务表中的字段与权限表的字段相同。比如,权限表中包括Status字段,业务表中也包括Status字段。由此,便于后续根据权限表及业务表确定用户的权限信息。
请参照图7,图7是图3中步骤S230包括的子步骤的流程示意图之一。在本实施例中,所述权限控制规则中包括第二权限控制规则及至少一条第一权限控制规则,所述第二权限控制规则中包括业务状态。步骤S230可以包括子步骤S231~子步骤S233。
子步骤S231,判断每条数据信息中的业务状态是否与所述第二权限控制规则中的业务状态相同。
子步骤S232,判断每条数据信息是否与至少一条第一权限控制规则匹配;
子步骤S233,若一数据信息中的业务状态与所述第二权限控制规则中的业务状态相同,且该数据信息与至少一条第一权限控制规则匹配,则判定该用户具有所述目标权限表中的目标操作权限、且该目标操作权限对应该数据信息对应的业务数据。
在本实施例中,在确定目标权限表及目标业务表后,可将目标业务表的每条数据信息与所述目标权限表中的第二权限控制规则及各条第一权限控制规则进行匹配。在得到一条数据信息与第二权限控制规则的匹配结果、与各条第一权限控制规则的匹配结果后,若该条数据信息与第二权限控制规则的匹配结果为业务状态相同、且该条数据信息与各条第一权限控制规则的匹配结果中包括至少一个匹配上,则可以确定该用户具有对该条数据信息对应的数据信息进行操作的权限,该权限为目标权限表中包括的操作权限。依次类推,可根据每条数据信息与权限控制规则的匹配结果,确定该用户的权限信息。
可选地,所述业务数据根据涉及的业务数据的具体状态进行设置,比如,若涉及订单方面,业务状态可分为:已发货、未发货、取消等。
在匹配过程中,若某条数据信息包括的业务状态与第二权限控制规则中的业务状态不同,则可不再根据该条数据信息进行匹配。可选地,在匹配过程中,可首先根据第二权限控制规则进行匹配,若不匹配,则不再根据第一权限控制规则匹配。由此,可节省匹配时间。
作为一种实施方式,每条第一权限控制规则中包括用户身份及该用户身份是否具有权限表中的操作权限,所述数据信息中包括用户身份与用户标识的对应关系。接着,可经以下方式确定一条数据信息是否与至少一条第一权限控制规则匹配:若根据一第一权限控制规则确定一用户身份具有所述目标权限表中的目标操作权限,则判断每条数据信息中该用户身份对应的用户标识是否包括该用户的用户标识;若一数据信息中该用户身份对应的用户标识包括该用户的用户标识,则可确定该条数据信息与该第一权限控制规则匹配。可选地,用户身份可以为创建者Creator、同部门Department、子部门Sub_department、负责人Supervisor等,可根据实际需求进行设置。
在本实施方式中,首先可根据目标权限表中的一条第一权限控制规则,确定该条第一权限控制规则中的用户身份是否具有所述目标权限表中的目标操作权限。若有,则根据数据信息中包括的用户身份与用户标识的对应关系,从一条数据信息中,获得该条第一权限控制规则中的用户身份对应的用户标识,并判断当前用户的用户标识是否在其中。若在,则可确定该条数据信息与该条第一权限控制规则匹配。
若一条第一权限控制规则中的用户身份是否具有所述目标权限表中的目标操作权限,则不需要从数据信息中获得该用户身份对应的用户标识,判断另一条第一权限控制规则是否与该条数据信息是否匹配即可。
请参照图8及图9,图8是本申请实施例提供的权限表的示意图,图9是本申请实施例提供的业务表的示意图。其中,若一个权限表中仅包括一个操作权限,则图8所示的权限表为查找到的两个目标权限表汇总而成。当然可以理解的是,若权限表设置方式不同,则汇总结果也可以不同。
假设客户端标识为1000、当前用户的角色标识为other,可得到如图8所示的权限表。其中,Status表示业务状态,Creator表示创建者,Department表示同部门,Supervisor表示负责人。由该权限表可知:作为创建者或负责人的用户对业务状态为取消的业务数据有读取查询的操作权限;作为创建者或同部门或负责人对业务状态为取消的业务数据有更新的操作权限。
接下来进行匹配。由第一条数据信息(即图9中的第一行具体数据)可知,该条数据信息所属的业务数据对应的业务状态为取消,该条业务数据的创建者为user1,同部门的用户有user2,负责人为user1、user3。
基于权限表中的第一行数据内容及业务表中的第一条数据信息,可确定为user1或user3的用户对该第一条数据信息对应的业务数据有读取查询的操作权限。若当前用户为user1或user3,则可确定当前用户具有对该第一条数据信息对应的业务数据读取查询的操作权限。若当前用户要对该第一条数据信息对应的业务数据进行查询,则可以将该第一条数据信息对应的业务数据进行显示。
接着通过相同的方式,可确定为user1或user2或user3或user5的用户对第二条数据信息对应的业务数据有更新的操作权限。若当前用户属于user1、user2、user3、user5中之一,则可确定当前用户具有对该第一条数据信息对应的业务数据更新的操作权限。
请参照图10,图10是图3中步骤S230包括的子步骤的流程示意图之二。在本实施例中,所述权限控制规则中包括至少一条第一权限控制规则。步骤S230可以包括子步骤S235及子步骤S236。
子步骤S235,判断每条数据信息是否与至少一条第一权限控制规则匹配。
子步骤S236,若一数据信息与至少一条第一权限控制规则匹配,则判定该用户具有所述目标权限表中的目标操作权限、且该目标操作权限对应该数据信息对应的业务数据。
在本实施例中,在一条数据信息与目标权限表中的一条或多条第一权限控制规则匹配上时,则可直接确定当前用户的权限信息。其中,关于子步骤S235的具体描述可参照上文对子步骤S232的描述,在此不再赘述。
在本实施例中,预先在权限服务器300中配置权限表及资源表,以配置不同用户身份(比如,创建者Creator,同部门Department,子部门Sub_department,负责人Supervisor等)对处于各种业务状态的业务数据的行级权限访问控制。并开启服务,以提供客户端100调用方获取行级权限资源列表的rest接口服务。
并且,预先在客户端100的业务表添加对不同业务状态及不同用户身份(比如创建者Creator,同部门Department,子部门Sub_department,负责人Supervisor等)的访问控制字段。其中,此处的访问控制字段具体内容与权限表中的行级权限访问控制字段相同。
在对某业务数据进行操作时,可使用第三方AOP库(aspectj)对DSL中的接口方法进行切入,判断出需要行级权限控制的调用方法。然后,从权限服务器300出获得当前用户对应的行级权限资源列表(即目标权限表及目标业务表标识),利用java反射机制获取需要进行数据操作的dsl数据实体类,获得行级权限控制的字段域。再根据远程服务中行级权限控制属性,组合出dsl查询中所需要的predicate断言条件,最后将此predicate条件作为参数invoke调用真正的查询方法。
需要对数据进行查询或修改或删除时,首先判断出需要行级权限控制的调用方法,然后查询权限服务器300当前用户对应的行级权限资源列表,根据获取的权限资源列表判断当前用户是否有权限对当前方法进行操作。最后如果符合条件则直接调用AOP代理类切入点的proceed方法正常执行查询或修改或删除操作,如果不符合则需要抛出错误警示。
在本实施例中,使用了AOP。AOP的任务就是添加更多的条件进行权限控制。比如,以查询权限为例,对于角色A,添加的条件就是:
(status=‘新建’&&(与)creator=self.id)
该条件表示创建者对业务状态为新建的业务数据有查询权限。
对于角色B,添加的条件就是:
(status=‘待审核’&&(与)department=self.department)
Or(或)
(status=‘待审核’&&(与)department like‘self.department%’)
该条件表示同部门用户对业务状态为待审核的业务数据有查询权限。
在设置删除权限时,类似于查询,可使用CrudRepository.delete(T entity)方法。
若某角色对更多的状态有权限,循环添加进去即可。
在本实施例的一种实施方式中,实现上述方案,需要使用Maven导入的核心库querydsl-jpa,aspectj及spring-data-jpa等。其中,Maven是一个采用纯Java编写的开源项目管理工具。querydsl是一个框架,它支持在Java中为多个后端(包括JPA、MongoDB和SQL)构建类型安全的类似SQL的查询。JPA表示Java持久层API。Aspectj是一个面向切面的框架,它扩展了Java语言。Spring是一个开源的Java平台,它为容易而快速的开发出耐用的Java应用程序提供了全面的基础设施。Spring Data是为数据访问提供一个熟悉的、一致的、基于Spring的编程模型,同时仍然保留底层数据存储的特殊特性。Spring-data-jpa:是Spring Data家族的一部分,可以轻松实现基于JPA的存储库。
请参照图11,图11是本申请实施例提供的基于AOP的行级权限控制方法的流程示意图之二。该方法应用于通信连接的客户端100及权限服务器300。所述客户端100中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息。所述权限服务器300中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限。下面对该基于AOP的行级权限控制方法的流程进行阐述。
步骤S310,所述客户端100在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器300发送权限查询请求。其中,所述目标查询标识中包括该用户所属的目标角色的角色标识。
步骤S320,所述权限服务器300从存储的权限信息表中获得与所述目标查询标识对应的目标权限表及目标业务表标识,并将所述目标权限表及目标业务表标识发送给所述客户端100。
步骤S330,所述客户端100根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据。
步骤S340,所述客户端100判断所述数据操作请求与该用户的权限信息是否匹配,若匹配,则根据所述数据操作请求对对应的业务数据进行相应操作。
在本实施例中,所述权限信息表中还可以包括资源表,所述资源表中包括所述业务表标识。所述权限服务器300从存储的权限信息表中获得与所述目标查询标识对应的目标权限表及目标业务表标识的方式包括:
所述权限服务器300从存储的权限表中查找与所述目标角色对应的目标权限表,其中,所述目标权限表中包括目标资源表标识;
所述权限服务器300从存储的资源表中查找与所述目标资源表标识对应的目标资源表,以获得所述目标资源表中包括的目标业务表标识。
在本实施例中,关于应用于通信连接的客户端100及权限服务器300的基于AOP的行级权限控制方法的具体描述,可参照上文对步骤S210~步骤S250的描述,在此不再赘述。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种基于AOP的行级权限控制装置200的实现方式,可选地,该基于AOP的行级权限控制装置200可以采用上述图2所示的客户端100的器件结构。进一步地,请参照图12,图12是本申请实施例提供的基于AOP的行级权限控制装置200的方框示意图。需要说明的是,本实施例所提供的基于AOP的行级权限控制装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
所述基于AOP的行级权限控制装置200应用于与权限服务器300通信连接的客户端100。所述客户端100中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息。所述权限服务器300中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限。所述基于AOP的行级权限控制装置200可以包括发送模块210、接收模块220、权限信息确定模块230、判断模块240及操作模块250。
所述发送模块210,用于在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器300发送权限查询请求。其中,所述目标查询标识中包括该用户所属的目标角色的角色标识。
所述接收模块220,用于接收所述权限服务器300发送的从存储的权限信息表中获得的与所述目标查询标识对应的目标权限表及目标业务表标识。
所述权限信息确定模块230,用于根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息。所述权限信息包括目标操作权限及各目标操作权限对应的业务数据。
所述判断模块240,用于判断所述数据操作请求与该用户的权限信息是否匹配。
所述操作模块250,用于在匹配时,根据所述数据操作请求对对应的业务数据进行相应操作。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于该客户端100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于AOP的行级权限控制方法。
综上所述,本申请实施例提供一种基于AOP的行级权限控制方法、装置及客户端。在接收到用户的数据操作请求时,首先根据该用户对应的目标查询标识向权限服务器发送权限查询请求,以从权限服务器存储的权限信息表中获得与目标查询标识对应的目标权限表及目标业务表标识。然后,根据目标权限表中的权限控制规则与目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,并在数据操作请求与该用户的权限信息匹配时,根据数据操作请求对对应的业务数据进行相应操作。由此,可利用AOP方式,在不侵入业务代码的前提下实现数据库行级权限的精确控制,同时可提高开发人员的工作效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于AOP的行级权限控制方法,其特征在于,应用于与权限服务器通信连接的客户端,所述客户端中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息,所述权限服务器中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限,所述方法包括:
在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,其中,所述目标查询标识中包括该用户所属的目标角色的角色标识;
接收所述权限服务器发送的从存储的权限信息表中获得的与所述目标查询标识对应的目标权限表及目标业务表标识;
根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据;
判断所述数据操作请求与该用户的权限信息是否匹配;
若匹配,则根据所述数据操作请求对对应的业务数据进行相应操作。
2.根据权利要求1所述的方法,其特征在于,所述权限控制规则中包括第二权限控制规则及至少一条第一权限控制规则,所述第二权限控制规则中包括业务状态,所述根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,包括:
判断每条数据信息中的业务状态是否与所述第二权限控制规则中的业务状态相同;
判断每条数据信息是否与至少一条第一权限控制规则匹配;
若一数据信息中的业务状态与所述第二权限控制规则中的业务状态相同,且该数据信息与至少一条第一权限控制规则匹配,则判定该用户具有所述目标权限表中的目标操作权限、且该目标操作权限对应该数据信息对应的业务数据。
3.根据权利要求2所述的方法,其特征在于,每条第一权限控制规则中包括用户身份及该用户身份是否具有权限表中的操作权限,所述数据信息中包括用户身份与用户标识的对应关系,所述判断每条数据信息是否与至少一条第一权限控制规则匹配,包括:
若根据一第一权限控制规则确定一用户身份具有所述目标权限表中的目标操作权限,则判断每条数据信息中该用户身份对应的用户标识是否包括该用户的用户标识;
若一数据信息中该用户身份对应的用户标识包括该用户的用户标识,则可确定该条数据信息与该第一权限控制规则匹配。
4.根据权利要求1所述的方法,其特征在于,所述权限控制规则中包括至少一条第一权限控制规则,所述根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,包括:
判断每条数据信息是否与至少一条第一权限控制规则匹配;
若一数据信息与至少一条第一权限控制规则匹配,则判定该用户具有所述目标权限表中的目标操作权限、且该目标操作权限对应该数据信息对应的业务数据。
5.根据权利要求1所述的方法,其特征在于,所述客户端中还存储有角色表,所述角色表中包括用户标识及与用户标识对应的角色标识,所述根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,包括:
从所述角色表中获得与该用户的用户标识对应的目标角色的角色标识;
将所述角色标识作为所述目标查询标识,并根据所述目标查询标识向所述权限服务器发送权限查询请求;
或,
根据所述角色标识及客户端标识得到所述目标查询标识,并根据所述目标查询标识向所述权限服务器发送权限查询请求。
6.一种基于AOP的行级权限控制方法,其特征在于,应用于通信连接的客户端及权限服务器,所述客户端中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息,所述权限服务器中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限,所述方法包括:
所述客户端在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,其中,所述目标查询标识中包括该用户所属的目标角色的角色标识;
所述权限服务器从存储的权限信息表中获得与所述目标查询标识对应的目标权限表及目标业务表标识,并将所述目标权限表及目标业务表标识发送给所述客户端;
所述客户端根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据;
所述客户端判断所述数据操作请求与该用户的权限信息是否匹配,若匹配,则根据所述数据操作请求对对应的业务数据进行相应操作。
7.根据权利要求6所述的方法,其特征在于,所述权限信息表中还包括资源表,所述资源表中包括所述业务表标识,所述权限服务器从存储的权限信息表中获得与所述目标查询标识对应的目标权限表及目标业务表标识,包括:
所述权限服务器从存储的权限表中查找与所述目标角色对应的目标权限表,其中,所述目标权限表中包括目标资源表标识;
所述权限服务器从存储的资源表中查找与所述目标资源表标识对应的目标资源表,以获得所述目标资源表中包括的目标业务表标识。
8.一种基于AOP的行级权限控制装置,其特征在于,应用于与权限服务器通信连接的客户端,所述客户端中存储有多个业务表,所述业务表中包括至少一条业务数据对应的数据信息,所述权限服务器中存储有权限信息表,所述权限信息表中包括与查询标识对应的权限表及业务表标识,所述权限表中包括权限控制规则及操作权限,所述装置包括:
发送模块,用于在接收到用户的数据操作请求时,根据该用户对应的目标查询标识向所述权限服务器发送权限查询请求,其中,所述目标查询标识中包括该用户所属的目标角色的角色标识;
接收模块,用于接收所述权限服务器发送的从存储的权限信息表中获得的与所述目标查询标识对应的目标权限表及目标业务表标识;
权限信息确定模块,用于根据所述目标权限表中的权限控制规则与所述目标业务表标识对应的目标业务表中的数据信息的匹配结果,确定该用户的权限信息,所述权限信息包括目标操作权限及各目标操作权限对应的业务数据;
判断模块,用于判断所述数据操作请求与该用户的权限信息是否匹配;
操作模块,用于在匹配时,根据所述数据操作请求对对应的业务数据进行相应操作。
9.一种客户端,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-5任一所述的基于AOP的行级权限控制方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的基于AOP的行级权限控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910966279.1A CN110727929B (zh) | 2019-10-12 | 2019-10-12 | 基于aop的行级权限控制方法、装置及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910966279.1A CN110727929B (zh) | 2019-10-12 | 2019-10-12 | 基于aop的行级权限控制方法、装置及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727929A true CN110727929A (zh) | 2020-01-24 |
CN110727929B CN110727929B (zh) | 2021-07-30 |
Family
ID=69221075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910966279.1A Active CN110727929B (zh) | 2019-10-12 | 2019-10-12 | 基于aop的行级权限控制方法、装置及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727929B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259429A (zh) * | 2020-02-10 | 2020-06-09 | 支付宝(杭州)信息技术有限公司 | 一种资源操作权限控制方法、装置及电子设备 |
CN111371645A (zh) * | 2020-02-28 | 2020-07-03 | 平安养老保险股份有限公司 | 业务连通性的测试方法、系统、计算机设备和存储介质 |
CN111428252A (zh) * | 2020-03-20 | 2020-07-17 | 郑州阿帕斯数云信息科技有限公司 | 用户权限控制方法和装置 |
CN111680310A (zh) * | 2020-05-26 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种权限控制的方法及装置、电子设备、存储介质 |
CN111897872A (zh) * | 2020-07-03 | 2020-11-06 | 杭州浮云网络科技有限公司 | 基于服务中心的大规模mssql管理方法、系统和计算机设备 |
CN112100585A (zh) * | 2020-08-19 | 2020-12-18 | 北京小米移动软件有限公司 | 权限管理方法、装置及存储介质 |
CN112417402A (zh) * | 2020-11-27 | 2021-02-26 | 亿企赢网络科技有限公司 | 权限控制方法、权限控制装置、权限控制设备及存储介质 |
CN112464212A (zh) * | 2020-03-30 | 2021-03-09 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
CN112632578A (zh) * | 2020-12-25 | 2021-04-09 | 平安银行股份有限公司 | 业务系统权限控制方法、装置、电子设备及存储介质 |
CN113434552A (zh) * | 2021-06-28 | 2021-09-24 | 青岛海尔科技有限公司 | 数据请求的处理方法和装置、存储介质及电子装置 |
CN113849789A (zh) * | 2021-09-29 | 2021-12-28 | 中国平安财产保险股份有限公司 | 基于aop的权限校验方法、装置、设备及存储介质 |
CN114372249A (zh) * | 2022-03-21 | 2022-04-19 | 北京纷扬科技有限责任公司 | 一种基于权限码的数据权限控制方法及装置 |
CN115577381A (zh) * | 2022-12-09 | 2023-01-06 | 云粒智慧科技有限公司 | 行级数据访问方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932340A (zh) * | 2012-10-25 | 2013-02-13 | 上海电机学院 | 基于角色的访问控制系统及方法 |
CN104486357A (zh) * | 2014-12-30 | 2015-04-01 | 北京经开投资开发股份有限公司 | 一种基于ssh网站实现rbac访问权限控制的方法 |
CN105653910A (zh) * | 2015-12-28 | 2016-06-08 | 芜湖美智空调设备有限公司 | 用户访问系统的控制方法和装置 |
CN106529229A (zh) * | 2015-09-10 | 2017-03-22 | 北京国双科技有限公司 | 权限数据的处理方法和装置 |
CN107679422A (zh) * | 2017-10-25 | 2018-02-09 | 厦门市美亚柏科信息股份有限公司 | 基于多维度的角色权限管理方法、终端设备及存储介质 |
CN107908973A (zh) * | 2017-11-22 | 2018-04-13 | 中国南方电网有限责任公司超高压输电公司 | 一种基于aop技术的动态数据权限控制方法 |
-
2019
- 2019-10-12 CN CN201910966279.1A patent/CN110727929B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932340A (zh) * | 2012-10-25 | 2013-02-13 | 上海电机学院 | 基于角色的访问控制系统及方法 |
CN104486357A (zh) * | 2014-12-30 | 2015-04-01 | 北京经开投资开发股份有限公司 | 一种基于ssh网站实现rbac访问权限控制的方法 |
CN106529229A (zh) * | 2015-09-10 | 2017-03-22 | 北京国双科技有限公司 | 权限数据的处理方法和装置 |
CN105653910A (zh) * | 2015-12-28 | 2016-06-08 | 芜湖美智空调设备有限公司 | 用户访问系统的控制方法和装置 |
CN107679422A (zh) * | 2017-10-25 | 2018-02-09 | 厦门市美亚柏科信息股份有限公司 | 基于多维度的角色权限管理方法、终端设备及存储介质 |
CN107908973A (zh) * | 2017-11-22 | 2018-04-13 | 中国南方电网有限责任公司超高压输电公司 | 一种基于aop技术的动态数据权限控制方法 |
Non-Patent Citations (1)
Title |
---|
陈立军 等: "基于动态AOP和WebServices的轻量级RBAC的实现", 《微计算机信息》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259429A (zh) * | 2020-02-10 | 2020-06-09 | 支付宝(杭州)信息技术有限公司 | 一种资源操作权限控制方法、装置及电子设备 |
CN111371645A (zh) * | 2020-02-28 | 2020-07-03 | 平安养老保险股份有限公司 | 业务连通性的测试方法、系统、计算机设备和存储介质 |
CN111371645B (zh) * | 2020-02-28 | 2022-04-29 | 平安养老保险股份有限公司 | 业务连通性的测试方法、系统、计算机设备和存储介质 |
CN111428252A (zh) * | 2020-03-20 | 2020-07-17 | 郑州阿帕斯数云信息科技有限公司 | 用户权限控制方法和装置 |
CN112464212A (zh) * | 2020-03-30 | 2021-03-09 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
CN111680310A (zh) * | 2020-05-26 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种权限控制的方法及装置、电子设备、存储介质 |
CN111680310B (zh) * | 2020-05-26 | 2023-08-25 | 泰康保险集团股份有限公司 | 一种权限控制的方法及装置、电子设备、存储介质 |
CN111897872A (zh) * | 2020-07-03 | 2020-11-06 | 杭州浮云网络科技有限公司 | 基于服务中心的大规模mssql管理方法、系统和计算机设备 |
CN112100585A (zh) * | 2020-08-19 | 2020-12-18 | 北京小米移动软件有限公司 | 权限管理方法、装置及存储介质 |
CN112417402A (zh) * | 2020-11-27 | 2021-02-26 | 亿企赢网络科技有限公司 | 权限控制方法、权限控制装置、权限控制设备及存储介质 |
CN112417402B (zh) * | 2020-11-27 | 2024-04-12 | 亿企赢网络科技有限公司 | 权限控制方法、权限控制装置、权限控制设备及存储介质 |
CN112632578A (zh) * | 2020-12-25 | 2021-04-09 | 平安银行股份有限公司 | 业务系统权限控制方法、装置、电子设备及存储介质 |
CN112632578B (zh) * | 2020-12-25 | 2024-05-17 | 平安银行股份有限公司 | 业务系统权限控制方法、装置、电子设备及存储介质 |
CN113434552A (zh) * | 2021-06-28 | 2021-09-24 | 青岛海尔科技有限公司 | 数据请求的处理方法和装置、存储介质及电子装置 |
CN113434552B (zh) * | 2021-06-28 | 2023-07-21 | 青岛海尔科技有限公司 | 数据请求的处理方法和装置、存储介质及电子装置 |
CN113849789A (zh) * | 2021-09-29 | 2021-12-28 | 中国平安财产保险股份有限公司 | 基于aop的权限校验方法、装置、设备及存储介质 |
CN114372249A (zh) * | 2022-03-21 | 2022-04-19 | 北京纷扬科技有限责任公司 | 一种基于权限码的数据权限控制方法及装置 |
CN115577381A (zh) * | 2022-12-09 | 2023-01-06 | 云粒智慧科技有限公司 | 行级数据访问方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110727929B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727929B (zh) | 基于aop的行级权限控制方法、装置及客户端 | |
US11106816B2 (en) | Database public interface | |
CN107402992B (zh) | 一种分布式NewSQL数据库系统和全文检索建立方法 | |
US10609140B2 (en) | Dynamic resource management systems and methods | |
US9910895B2 (en) | Push subscriptions | |
US10503905B1 (en) | Data lineage management | |
US9645989B2 (en) | Techniques to generate custom electronic forms using custom content | |
US10311077B2 (en) | Database table conversion | |
US9195854B2 (en) | System and method for controlling the on and off state of features at runtime | |
US20170161511A1 (en) | Database public interface | |
CN107133309B (zh) | 流程实例的存储、查询方法及装置、存储介质及电子设备 | |
US20170161291A1 (en) | Database table conversion | |
CN112632919B (zh) | 一种文档编辑方法、装置、计算机设备和存储介质 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
US11349848B2 (en) | Experience for sharing computer resources and modifying access control rules using mentions | |
US20140201135A1 (en) | Access Control List (ACL) Generation for Replicated Data | |
CN111143383B (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
US10817272B2 (en) | Generation and usage of language-converted script | |
US9946885B2 (en) | Process-oriented modeling and flow to restrict access to objects | |
US10831731B2 (en) | Method for storing and accessing data into an indexed key/value pair for offline access | |
KR20180007792A (ko) | 클라우드 서비스 기반의 데이터 제공 장치 및 방법 | |
US11366658B1 (en) | Seamless lifecycle stability for extensible software features | |
US11561995B2 (en) | Multitenant database instance view aggregation | |
CN113127906A (zh) | 基于c/s架构的统一权限管理平台、方法及存储介质 | |
WO2006136659A1 (en) | Security component for dynamic properties framework |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220602 Address after: 15, second floor, east side of clean coal workshop, No. 68, Shijingshan Road, Shijingshan District, Beijing 100043 (cluster registration) Patentee after: Beijing Zhizhi Heshu Technology Co.,Ltd. Address before: No.310, building 4, courtyard 8, Dongbei Wangxi Road, Haidian District, Beijing Patentee before: MININGLAMP SOFTWARE SYSTEMS Co.,Ltd. |
|
TR01 | Transfer of patent right |