CN103530568B - 权限控制方法、装置及系统 - Google Patents
权限控制方法、装置及系统 Download PDFInfo
- Publication number
- CN103530568B CN103530568B CN201210228214.5A CN201210228214A CN103530568B CN 103530568 B CN103530568 B CN 103530568B CN 201210228214 A CN201210228214 A CN 201210228214A CN 103530568 B CN103530568 B CN 103530568B
- Authority
- CN
- China
- Prior art keywords
- data
- application
- authority
- function
- user profile
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012795 verification Methods 0.000 claims abstract description 59
- 238000013507 mapping Methods 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 6
- 239000002131 composite material Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 194
- 230000000875 corresponding effect Effects 0.000 description 53
- 238000007726 management method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011012 sanitization Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
- 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)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种权限控制方法、装置及系统。其中,该方法包括:获取登录用户的用户信息;将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;接收并解析数据访问规则对象,以获取数据权限查询条件;将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。通过本申请,能够独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种权限控制方法、装置及系统。
背景技术
目前复杂的供应链系统集群中,需要对复杂的用户类型进行数据权限控制。当一个系统具有多种类型的用户时,系统对不同用户的数据权限的控制要求不同,例如一个企业的销售流程系统,对企业组织结构中的不同职位用户的数据权限限制是不同的,同样的查询功能对于销售总监、地区经理、普通销售员工,查询得到的销售数据的结果、范围和内容都会有区别。
在数据权限控制的实施过程中,当系统功能对数据要求简单时,可以将数据权限控制放在应用服务器中应用服务的每个功能单元里使得更有利于减少成本,即系统不需要单独的数据权限服务,应用服务器系统自身完成数据权限验证,以执行不同操作即可。但是当系统功能复杂,而且用户类型也复杂时,如果仍然在应用服务器系统的业务逻辑中加入复杂的用户权限判断逻辑,会让应用服务器中的应用系统变得臃肿而不易维护;并且如果数据权限控制的需求发生变动时,需要花费大量的成本去修改散落在应用系统功能中的权限判断逻辑。
具体的,业内现有的数据权限控制的实现方案有两种,一是依据用户权限选择不同的功能入口查询不同的数据集,二是在功能入口传入用户信息参数使用动态SQL拼装,来获取不同数据集。
对于第一种方案,适用于数据权限控制要求比较简单的应用,例如大多数网站系统,用户简单的分为游客和会员,功能比较丰富的网站如淘宝等会有会员级别。但是这种系统的用户类型与供应链系统相比简单许多,在供应链系统集群中,由于使用系统的人有多个业务团队多种角色,还有很多复杂的层级以及责任关联关系,所以使用多功能入口控制数据权限,应用系统将划分很多精力放在权限判断上,不利于业务逻辑梳理,同时也难以维护复杂和适应可变的数据权限管理需求。
对于第二种方案,适用于单系统应用,这样的应用很少与其他应用协作,并且使用的数据源单一。但是对于供应链系统集群,会有系统间的数据交互,如果使用这种方式,首先所有的远程接口都需要加入动态SQL拼装必须的用户参数,使接口复杂,其次为多个应用提供数据源的服务,将难以适应这些应用不同的数据权限需求,最后散落在动态SQL中的权限判断将更难以管理,而且同样也难以适应可变的权限管理需求。
目前针对相关技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,目前尚未提出有效的解决方案,为此,本申请的主要目的在于提供一种权限控制方法、装置及系统,以解决上述问题。
为了实现上述目的,根据本申请的一个方面,提供了一种权限控制方法,该方法包括:应用服务器获取登录用户的用户信息;应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;应用服务器将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;应用服务器接收并解析数据访问规则对象,以获取数据权限查询条件;应用服务器将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。
进一步地,在应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,方法还包括:应用服务器对需要进行数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面;在触发数据权限验证功能之后,应用服务器通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
进一步地,应用服务器将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象的步骤包括:公共权限服务器接收数据权限验证请求;公共权限服务器根据数据权限验证参数中的用户信息和应用数据访问入口标识在数据权限规则列表中进行查询,以获取当前数据权限验证请求所对应的数据访问规则对象;其中,数据权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用数据访问入口标识以及数据访问规则对象之间的映射关联关系。
进一步地,在应用服务器获取登录用户的用户信息之后,方法还包括:应用服务器根据用户信息进行用户身份验证;在用户身份验证通过的情况下,进入获取数据权限验证请求的步骤;其中,应用服务器根据用户信息进行用户身份验证的步骤包括:获取客户端发出的用户验证请求,用户验证请求包括用户信息;将用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。
进一步地,在应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,方法还包括:应用服务器根据用户信息进行功能权限验证;其中,根据用户信息进行功能权限验证的步骤包括:应用服务器将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果。
进一步地,在将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数之前,方法还包括:应用服务器对需要进行功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面;在触发功能权限验证功能之后,应用服务器通过识别第二拦截标记,来触发功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句。
进一步地,将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果的步骤包括:公共权限服务器接收功能权限验证请求;公共权限服务器根据功能权限验证参数中的用户信息和应用功能入口标识在功能权限规则列表中进行查询,以获取当前功能权限验证请求所对应的功能权限验证结果;其中,功能权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用功能入口标识以及功能权限验证结果之间的映射关联关系。
为了实现上述目的,根据本申请的另一方面,提供了一种权限控制装置,该装置包括:获取模块,用于获取登录用户的用户信息;第一组合模块,用于将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;查询模块,用于将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;解析模块,用于接收并解析数据访问规则对象,以获取数据权限查询条件;处理模块,用于应用服务器将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。
进一步地,装置还包括:第一设置模块,用于对需要进行数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面;第一拦截模块,用于在触发数据权限验证功能之后,通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
进一步地,装置还包括:身份验证模块,用于根据用户信息进行用户身份验证;身份验证模块包括:获取模块,用于获取客户端发出的用户验证请求,用户验证请求包括用户信息;身份查询模块,用于将用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。
进一步地,装置还包括:功能权限验证模块,根据用户信息进行功能权限验证;其中,功能权限验证模块包括:第二组合模块,用于将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;功能查询模块,用于将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果。
进一步地,装置还包括:第二设置模块,用于对需要进行功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面;第二拦截模块,用于在触发功能权限验证功能之后,通过识别第二拦截标记,来触发功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句。
为了实现上述目的,根据本申请的另一方面,提供了一种权限控制系统,该包系统括:应用服务器,用于获取登录用户的用户信息,并将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;公共权限服务器,用于接收由应用服务器发送的携带有数据权限验证参数的数据权限验证请求,并根据数据权限验证请求进行数据权限查询,以获取数据权限验证请求所对应的数据访问规则对象;其中,应用服务器在接收到公共权限服务器返回的数据访问规则对象之后,解析数据访问规则对象,以获取数据权限查询条件,并在将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句之后,根据该新的查询语句查询得到用户信息所对应的数据查询结果。
进一步地,应用服务器对需要进行数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面,并在触发数据权限验证功能之后,通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
进一步地,系统还包括:公共用户服务器,用于获取应用服务器发出的用户验证请求,用户验证请求包括用户信息,并根据用户信息进行查询操作,以确认当前用户验证请求中的用户身份是否合法。
进一步地,公共权限服务器还包括:功能权限验证装置,用于接收由应用服务器发送的携带有功能权限验证参数的功能权限验证请求,并根据功能权限验证请求进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果;其中,应用服务器通过将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数。
通过本申请,采用应用服务器获取登录用户的用户信息;应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;应用服务器将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;应用服务器接收并解析数据访问规则对象,以获取数据权限查询条件;应用服务器将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果,上述实施例提供了一个独立于各个应用子系统之外的公共权限服务器,通过该公共权限服务器实现数据权限的统一控制和管理,在获取到用户信息和应用数据访问入口标识之后就可以进行数据权限的验证,以获取当前用户的数据访问规则对象,用于确定当前用户是否执行触发的数据权限功能,并执行对应的查询功能,从而在应用服务器接收到返回的数据访问规则对象之后,会根据该数据访问规则对象实现所要实施的数据权限控制功能,由于数据权限的控制由公共权限服务器统一配置管理和设置,解决了相关现有技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,进而实现了可以独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的权限控制系统的结构示意图;
图2是根据图1所示实施例的数据权限规则管理的框架结构示意图;
图3是根据图1和图2所示实施例的数据访问规则的框架结构示意图;
图4是根据本申请实施例的权限控制方法的流程图;
图5是根据图4所示实施例的关于订单权限控制方法的详细业务流程图;
图6是根据图4所示实施例的应用服务器端进行数据权限验证SQL拦截的详细流程图;
图7是根据本申请实施例的权限控制装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是根据本申请实施例的权限控制系统的结构示意图。
如图1所示,该权限控制系统包括:应用服务器,用于获取登录用户的用户信息,并将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;公共权限服务器,用于接收由应用服务器发送的携带有所述数据权限验证参数的数据权限验证请求,并根据数据权限验证请求进行数据权限的查询,以获取数据权限验证请求所对应的数据访问规则对象;其中,应用服务器在接收到公共权限服务器返回的数据访问规则对象之后,解析数据访问规则对象,以获取数据权限查询条件,并在将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句之后,根据该新的查询语句查询得到用户信息所对应的数据查询结果。
本申请上述实施例为权限控制系统提供了一个独立于各个应用子系统之外的公共权限服务器,通过该公共权限服务器实现数据权限的统一控制和管理,在获取到用户信息和应用数据访问入口标识之后就可以进行数据权限的验证,以获取当前用户的数据访问规则对象,用于确定当前用户是否执行触发的数据权限功能,并执行对应的数据查询功能,从而在应用服务器接收到返回的数据访问规则对象之后,会根据该数据访问规则对象实现所要实施的数据权限控制功能,由于数据权限的控制由公共权限服务器统一配置管理和设置,因此可以解决相关现有技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,进而实现了可以独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制的效果。由于供应链系统的权限控制功能复杂,用户类型多样,对数据权限的要求又比较严格,因此需要公共权限服务器来进行统一的数据权限控制和管理。
优选地,应用服务器对需要进行数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面,并在触发数据权限验证功能之后,通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。该实施例中主要用到了SQL拦截技术,用于对SQL查询语句进行动态的分析和修改,实现在数据访问时切入数据权限控制信息。
具体的,图1所示实施例中的公共权限服务器在多系统集群应用中,独立于各个应用系统之外的,提供公共的权限管理和验证服务的系统,即统一配置和管理其他应用系统的权限信息,并提供了权限验证的远程接口和实现,可以在应用服务器中引入用于实现公共权限服务所提供的公共类库(即二方库),通过数据权限验证的切面(此处面向切面的编程是对业务处理过程中的查询功能进行提取,将某个方面的查询功能提取分离出来,以获得逻辑过程中各部分之间低耦合性的隔离效果)对数据权限验证功能入口进行拦截,并通过访问数据权限验证接口来进行数据权限验证,以获取当前用户的权限许可和权限信息,通过权限许可判定是否执行功能,通过权限信息(即数据访问规则对象)来修改应用服务器上的SQL查询语句。
本申请上述实施例中,公共权限服务器实现数据权限的查询的功能,可以采用根据数据权限验证请求中数据权限验证参数所记录的用户信息和应用数据访问入口标识在数据权限规则列表中进行查询,从而获取当前数据权限验证请求所对应的数据访问规则对象,其中,数据权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用数据访问入口标识以及数据访问规则对象之间的映射关联关系。
图2是根据图1所示实施例的数据权限规则管理的框架结构示意图;图3是根据图1和图2所示实施例的数据访问规则的框架结构示意图。
上述实施例中,公共权限服务器的公共用户服务系统对所有应用服务器的应用服务系统的权限进行统一的配置管理,并为其提供统一的权限验证服务;公共用户服务系统为应用服务系统提供用户验证服务,为公共权限服务器的系统提供配置权限所需的用户信息的获取服务;应用服务系统需要为公共权限服务系统提供数据权限配置所需的数据访问规则对象的获取服务。
其中,如图2所示,数据权限配置管理是公共权限服务器系统统一对应用服务器系统的数据权限的配置管理,在配置数据权限的过程中,需要获取公共用户服务系统上的用户信息和应用服务器系统上的数据访问规则对象的信息,然后记录用户信息规则和数据对象信息访问规则的映射关系。
由图2可知,本申请实施例中的数据权限管理的核心是数据访问规则列表,该数据权限规则列表用来保存用户信息规则和数据规则对象的映射关系,用来分析用户的数据权限,主要包括三方面的内容:数据访问入口、用户对象规则,数据访问规则对象。公共权限服务系统在配置数据权限时,需要从公共用户服务器的系统中获取用户对象的用户信息,从应用服务系统中获取数据对象的信息,数据访问入口则是数据层访问的全路径名,即通过反射机制获取用户对象的用户信息和应用系统数据对象的数据结构,分别填到用户对象规则和数据访问规则对象中,数据访问入口用来唯一标识应用服务器数据访问的SQL,此外权限系统提供一组映射方式如相等、大于小于、在范围内,字符匹配等。
具体的,结合图1和2所示的实施例,数据权限验证过程的详细步骤包括:
a.应用服务系统从公共用户系统获取用户信息,将该用户信息结合应用数据访问入口标识作为查询参数来调用公共权限服务系统所提供的数据权限验证服务;
b.公共权限服务系统根据查询参数来查询数据权限规则列表,匹配用户信息规则并返回查询得到的数据访问规则对象至应用服务系统;
c.应用服务系统使用公共权限服务系统提供的公共类库(权限二方库),将数据访问规则对象解析成SQL片段,并拦截权限查询SQL语句将其植入,从而通过动态修改SQL的数据对象字段或者查询条件,以实现数据权限控制。
如图3所示,本申请以订单项目为例详细描述数据权限的配置过程,即数据访问规则的生成过程,其中,数据访问入口:查看订单列表;用户对象规则:供应链服装行业负责各个类目运营的人员;数据访问规则对象:只可以查看自己行业自己负责类目相关订单,不能查看结算价字段。数据权限的配置过程的具体步骤如下:
1.配置数据访问入口:与应用服务器端数据访问的SQL的ID一致,例如该ID为:lpscm。order.get_orders_by_query。
2.用户对象规则:由于使用行业和类目信息做数据权限的用户规则,公共用户服务器的系统需要提供用户与行业类目的关联关系,并提供该聚合实体的类库,公共权限服务系统通过反射得到用户的行业和类目属性字段,例如该属性字段为:UserRule:User.cat。
3.数据访问规则对象:由于使用行业和类目信息做数据权限的数据访问规则对象,订单应用服务需要提供订单与行业类目的关联关系,并提供该聚合实体的类库,权限系统通过反射得到订单的行业和类目属性字段,例如该属性字段为:WhereClause:Order.Cat;SelectClause:Order.settle。
4.映射规则:条件限制匹配类型WhereMatchType配置为Equal,表示用户规则与数据对象访问规则通过相等方式匹配;字段过滤SelectFileType的规则为Cut,表示查询结果中将Order对象的settle字段去掉。
优选地,如图1所示,上述权限验证系统还可以包括:公共用户服务器,用于获取应用服务器发出的用户验证请求,用户验证请求包括用户信息,并根据用户信息进行查询操作,以确认当前用户验证请求中的用户身份是否合法。本申请该实施例中,针对应用服务器的用户验证请求,采用了第三方的公共用户服务器来完成身份验证过程,公共用户服务器在获取到验证结果之后,会将验证结果返回给应用服务器。当前,在具体的实施过程中,也可以实现应用服务器在本地进行身份验证过程。
优选地,如图1所示,在应用服务器完成身份验证并获取登录用户的用户信息之后,公共权限服务器进行数据权限验证功能之前,可以进行根据用户信息进行功能权限验证,并在功能权限验证结果为验证通过的情况下,获取数据权限验证请求,即进入数据权限验证功能。即本申请上述实施例中的公共权限服务器还可以包括:功能权限验证装置,用于接收由应用服务器发送的携带有功能权限验证参数的功能权限验证请求,并根据功能权限验证请求进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果;其中,应用服务器通过将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数。本申请该实施例在实现了用户对系统数据对象进行访问的数据权限控制的基础上,还可以实现功能权限的控制,即用户对系统某个页面或功能进行访问的权限。
本申请上述实施例中,针对应用服务器的功能权限验证,采用了第三方的公共权限服务器来完成功能权限的验证过程,公共权限服务器在获取到验证结果之后,会将验证结果返回给应用服务器。当前,在具体的实施过程中,也可以实现应用服务器在本地进行功能权限的验证过程。
由上可知,本申请通过为系统集群提供公共权限服务;在实现上通过匹配用户的数据权限信息和所访问的数据对象规则,使用Spring提供的拦截机制动态使用权限服务返回的SQL片段修改SQL语句,使应用系统不必关注用户信息,使用同一功能入口的情况下,不同用户能够获得不同数据权限。既客服了使用中间件对应用的依赖性和依附性,能够提供独立部署和统一配置管理的权限服务;也在传统RBAC权限控制方案基础上进行了创新和扩展,能够通过映射用户规则和数据对象访问规则列表,对这种数据访问行为进行管理,做到细粒度的数据权限控制。
图4是根据本申请实施例的权限控制方法的流程图。
如图4所示,该方法包括如下步骤:
步骤S102,通过图1中的应用服务器获取登录用户的用户信息。
步骤S104,图1中的应用服务器将该用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数。
步骤S106,图1中的应用服务器将携带有该数据权限验证参数数据权限验证请求发送至公共权限服务器进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象。
步骤S108,图1中的应用服务器接收并解析数据访问规则对象,以获取新的数据权限查询条件。
步骤S110,图1中的应用服务器数据权限查询条件切入该应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。
本申请上述实施例中,应用服务器上执行的数据权限的验证通过一个独立于各个应用子系统之外的公共权限服务器来实现,由于在该公共权限服务器上实现了数据权限的统一控制和管理,因此,当应用服务器在将用户信息和应用数据访问入口标识发送给公共权限服务器,公共权限服务器根据接收到的用户信息和应用数据访问入口标识进行数据权限的验证,在确定当前用户需要执行触发的数据权限功能,并执行对应的数据查询功能之后,公共权限服务器将获取到的当前用户的数据访问规则对象返回,从而在应用服务器接收到返回的数据访问规则对象之后,会根据该数据访问规则对象实现所要实施的数据权限控制功能,由于数据权限的控制由公共权限服务器统一配置管理和设置,因此可以解决相关现有技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,进而实现了可以独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制的效果。
本申请上述实施例中,在应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,方法还可以包括如下步骤:应用服务器对需要进行数据权限查询的应用数据访问入口进行标记,并在公共类库中设置数据权限拦截命令;在触发数据权限验证功能之后,应用服务器通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句(也可以是独立的数据权限查询SQL语句)中的应用数据访问入口标识,并发送该应用数据访问入口标识至公共缓存服务器。上述实施例提供了数据权限验证的远程接口和实现,可以在应用服务器中引入用于实现公共权限服务所提供的公共类库(即二方库),通过数据权限验证的切面对数据权限验证功能入口进行拦截,并通过访问数据权限验证接口来进行数据权限验证,以获取当前用户的权限许可和权限信息,通过权限许可判定是否执行功能,通过权限信息(即数据访问规则对象)来修改应用服务器上的SQL查询语句,最后根据新得到的查询语句获得数据验证查询结果。
本申请上述实施例中,应用服务器将携带有上述数据权限验证参数的数据权限验证请求发送至公共权限服务器进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象的步骤可以包括:公共权限服务器接收数据权限验证请求;公共权限服务器根据数据权限验证请求中数据权限验证参数所记录的用户信息和应用数据访问入口标识在数据权限规则列表中进行查询,以获取当前数据权限验证请求所对应的数据访问规则对象;其中,数据权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用数据访问入口标识以及数据访问规则对象之间的映射关联关系。
上述实施例提供了一个数据权限规则列表,该数据权限规则列表是由公共权限服务器的公共用户服务系统对所有应用服务器的应用服务系统的数据权限进行统一的配置管理,并为其提供统一的数据权限验证服务,在配置数据权限的过程中,需要获取公共用户服务系统上的用户信息和应用服务器系统上的数据访问规则对象的信息,然后记录用户信息规则和数据对象信息访问规则的映射关系。并且,在应用服务器上发出数据权限验证请求之后,通过数据权限验证请求中记录的用户信息和应用数据访问入口标识在数据权限规则列表中进行查询,从而获取当前数据权限验证请求所对应的数据访问规则对象。
本申请上述实施例中,在应用服务器获取登录用户的用户信息之后,方法还可以包括如下步骤:应用服务器根据用户信息进行用户身份验证;在用户身份验证通过的情况下,进入获取数据权限验证的步骤,即可以根据拦截标记来拦截对应的权限查询SQL语句;其中,应用服务器根据接收到的用户信息进行用户身份验证的步骤可以包括:应用服务器获取客户端发出的用户验证请求,用户验证请求包括用户信息;将用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。该实施例中,公共用户服务系统为应用服务系统提供用户验证服务,为公共权限服务器的系统提供配置权限所需的用户信息的获取服务。
本申请上述实施例中,在应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,还可以包括如下步骤:应用服务器保存该用户信息;应用服务器在用户信息验证通过的情况下,根据记录的用户信息进行功能权限验证。具体的,该根据记录的用户信息进行功能权限验证的步骤可以包括如下步骤:应用服务器将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;将携带有该功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果。该实施例中,应用服务系统进一步实现了在实现数据权限验证的情况下,需要进行功能权限验证,并配置所需的功能权限验证访问规则列表。
由此可知,本申请上述实施例可以实现,在数据权限验证之前进行用户权限验证和/或功能权限验证,即应用服务器可以直接根据获取到的用户信息进入数据权限的验证过程,或者需要先进行用户身份验证和/或功能权限验证的之后,并在验证结果为验证通过的情况下,进入获取数据全线验证请求的步骤,并启动发出数据权限验证请求。
优选地。本申请上述实施例中,在将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获功能权限验证参数之前,方法还可以包括:应用服务器对需要进行所述功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面,并在触发功能权限验证功能之后,应用服务器通过识别所述第二拦截标记,来触发功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句(也可以是功能独立的功能权限查询SQL语句),最后发送功能权限验证参数至公共缓存服务器。
本申请上述实施例中,将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果的步骤包括:公共权限服务器接收功能权限验证请求;该公共权限服务器根据功能权限验证请求中功能权限验证参数所记录的用户信息和应用功能入口标识在功能权限规则列表中进行查询,以获取当前功能权限验证请求所对应的功能权限验证结果;其中,功能权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用功能入口标识以及功能权限验证结果之间的映射关联关系。
上述实施例提供了一个功能权限规则列表,该功能权限规则列表是由公共权限服务器的公共用户服务系统对所有应用服务器的应用服务系统的功能权限进行统一的配置管理,并为其提供统一的功能权限验证服务,在配置功能权限的过程中,需要获取公共用户服务系统上的用户信息和应用服务器系统上的功能验证结果的信息,然后记录用户信息和功能验证结果的映射关系。
图5是根据图4所示实施例的关于订单权限控制方法的详细业务流程图;图6是根据图4所示实施例的应用服务器端进行数据权限验证SQL拦截的详细流程图。
如图5所示,本申请基于订单应用实例对本申请进行详细描述,当家居行业负责服装类目的人员在订单系统查询订单时,订单应用系统使用公共权限服务系统进行权限验证的过程包括如下步骤,其中包括身份验证过程、功能权限验证过程,以及数据权限验证过程。具体实施步骤如下:
首先,用户登录应用服务器上的订单应用系统,订单应用系统调用公共用户服务器上的公共用户系统来验证用户身份,身份验证通过则进入订单功能也为系统并记录用户信息。
接着,用户可以通过点击订单应用系统中的功能按键来触发订单查询功能,从而得到功能权限验证请求,此时,订单应用系统发出的功能权限验证请求会被已经引入的权限二方库中的功能权限验证切面所拦截,功能权限验证切面调用公共权限服务器中的功能权限查询系统,将功能权限验证请求中包括的用户信息和应用功能入口标识(包括站点标识和Url标识两部分内容)发送给公共权限服务器,功能权限查询系统根据接收到的用户信息和应用功能入口标识查询功能权限配置记录,验证功能权限并返回验证通过的结果,从而使得订单应用系统继续向下执行数据查询功能。
然后,在功能权限验证结果为验证通过的情况下,用户通过该订单应用系统启动执行订单数据权限查询功能,当调用“订单数据对象查询入口”时,订单应用系统会被引入的权限二方库中的数据权限验证切面所拦截,数据权限验证切面会拦截SQL查询语句的执行,调用权限系统服务进行数据权限验证,将数据权限验证请求中包括的用户信息和应用数据访问入口标识(即订单数据对象查询入口标识SQL_id)发送给公共权限服务器,数据权限查询系统会根据接收到的用户信息和订单数据对象查询入口标识查询数据访问规则列表,验证数据权限并返回数据访问规则对象给应用服务器中的订单应用系统。
最后,订单应用系统中的权限二方库数据权限验证切面,对返回的数据访问规则对象进行解析,将SQL片段切入原来的SQL语句,动态修改后执行查询,从而获取到数据权限验证结果。
具体的,如图6所示,本申请上述实施例中订单应用系统的数据权限验证过程中,SQL拦截和切入的原理和过程包括如下实施步骤:
首先,权限二方库对Spring的SQLExecutor做了切面拦截,当订单应用系统调用订单数据入口执行到SQLExecutor时,数据权限切面会将SQL语句取出暂存到SQL对象里。例如,此处SQL拦截内容可以如下:
然后,数据权限切面调用权限系统进行数据权限验证,得到的数据访问规则对象中可以拿到sql片段。实例中的数据访问规则对象中包含where修改规则和select修改规则两部分:WhereRule:Order.cat=#user.cat#SelectRule:settle[CUT]。在解析where规则后,在原始sql中增加order.cat#user.cat#,其中user.cat会从用户对象中查询出来值为“fuzhuang”,因此sql中的where部分切入“andcat=‘jiaju.chufang’”;解析select规则后,会将原始sql中查询的“settle”字段去掉,这样查出的结果该字段值为空。具体的,本实施例中SQL动态切入的内容如下:
最后,继续执行修改后的sql语句,就达到了只查询出家居行业厨房用品类目下的订单记录,并且结果集将结算价屏蔽的效果,实现了对家居行业厨房用品类目人员查询订单数据权限的控制。
其中,本申请上述实施例中的二方库是指系统之间相互协作时,提供给服务使用方的一些公共类库,以满足服务功能实现。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图7是根据本申请实施例的权限控制装置的结构示意图。如图7所示,本申请还提供了一种权限控制装置,具体的可以是本申请上述实施例中的应用服务器。
该权限控制装置包括:获取模块10,用于获取登录用户的用户信息;第一组合模块30,用于将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;查询模块50,用于将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;解析模块70,用于接收并解析数据访问规则对象,以获取数据权限查询条件;处理模块90,用于应用服务器将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。(图7中的50、70需要做相应修改)
本申请上述实施例为权限控制系统提供了一个独立于各个应用子系统之外的公共权限服务器,通过该公共权限服务器实现数据权限的统一控制和管理,在获取到用户信息和应用数据访问入口标识之后就可以进行数据权限的验证,以获取当前用户的数据访问规则对象,用于确定当前用户是否执行触发的数据权限功能,并执行对应的查询功能,从而在应用服务器接收到返回的数据访问规则对象之后,会根据该数据访问规则对象实现所要实施的数据权限控制功能,由于数据权限的控制由公共权限服务器统一配置管理和设置,因此可以解决相关现有技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,进而实现了可以独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制的效果。
本申请上述实施例的装置还可以包括:第一设置模块,用于对需要进行数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面;第一拦截模块,用于在触发数据权限验证功能之后,通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
本申请上述实施例的装置还可以包括:身份验证模块110,用于根据用户信息进行用户身份验证。该身份验证模块可以包括:获取模块,用于获取客户端发出的用户验证请求,用户验证请求包括用户信息;身份查询模块,用于将用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。
本申请上述实施例的装置还可以包括:保存模块,用于保存该用户信息;功能权限验证模块130:根据用户信息进行功能权限验证。其中,该功能权限验证模块可以包括:第二组合模块,用于将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;功能查询模块,用于将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果。
优选地,本申请上述实施例在具体实施过程中,应用服务器在用户信息验证通过的情况下,保存获取到的用户信息。
本申请上述实施例的装置还可以包括:第二设置模块,用于对需要进行功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面;第二拦截模块,用于在触发功能权限验证功能之后,通过识别第二拦截标记,来触发功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句。
从以上的描述中,可以看出,本申请实现了如下技术效果:。可以为系统集群提供公共权限服务,权限系统独立部署于其他应用系统,通过接入统一用户服务获取用户信息,接入应用的接口获取需要进行数据权限控制的对象结构,进行用户数据对象关联关系匹配,实现数据权限的统一配置和管理。
但是本申请中实现的权限控制方法,则反向的关注应用底层的数据对象,需要数据权限控制的应用需要暴漏底层的数据对象结构,使权限系统可以通过配置数据访问规则,对这种细粒度的权限进行控制。比如两个销售人员都可以查询交易订单记录,但是由于两者所属区域不同,只能查看自己区域的订单,或者两者级别不同,经理可查看所有订单,销售人员只能查看属于自己的订单,只能新建交易金额低于某个值的订单,这种复杂的权限控制需求情况下,RBAC方式的权限管理就无法满足了。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种权限控制方法,其特征在于,包括:
应用服务器获取登录用户的用户信息;
所述应用服务器将所述用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;
所述应用服务器将携带有所述数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取所述应用数据访问入口标识所对应的数据访问规则对象;
所述应用服务器接收并解析所述数据访问规则对象,以获取数据权限查询条件;
所述应用服务器将所述数据权限查询条件切入所述应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到所述用户信息所对应的数据查询结果。
2.根据权利要求1所述的方法,其特征在于,在所述应用服务器将所述用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,所述方法还包括:
所述应用服务器对需要进行所述数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面;
在触发数据权限验证功能之后,所述应用服务器通过识别第一拦截标记,来触发所述数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
3.根据权利要求1或2所述的方法,其特征在于,所述应用服务器将携带有所述数据权限验证参数的数据权限验证请求发送至所述公共权限服务器,进行数据权限查询,以获取所述应用数据访问入口标识所对应的数据访问规则对象的步骤包括:
所述公共权限服务器接收所述数据权限验证请求;
所述公共权限服务器根据所述数据权限验证参数中的所述用户信息和应用数据访问入口标识在数据权限规则列表中进行查询,以获取当前数据权限验证请求所对应的数据访问规则对象;
其中,所述数据权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用数据访问入口标识以及数据访问规则对象之间的映射关联关系。
4.根据权利要求1所述的方法,其特征在于,在应用服务器获取登录用户的用户信息之后,所述方法还包括:
所述应用服务器根据所述用户信息进行用户身份验证;
在所述用户身份验证通过的情况下,进入获取所述数据权限验证请求的步骤;
其中,所述应用服务器根据所述用户信息进行用户身份验证的步骤包括:获取客户端发出的用户验证请求,所述用户验证请求包括用户信息;将所述用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。
5.根据权利要求1或4所述的方法,其特征在于,在所述应用服务器将所述用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,所述方法还包括:
所述应用服务器根据所述用户信息进行功能权限验证;
其中,根据所述用户信息进行功能权限验证的步骤包括:所述应用服务器将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;将携带有所述功能权限验证参数的功能权限验证请求发送至所述公共权限服务器进行功能权限的验证,以获取所述功能权限验证请求对应的功能权限验证结果。
6.根据权利要求5所述的方法,其特征在于,在将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数之前,所述方法还包括:
所述应用服务器对需要进行所述功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面;
在触发功能权限验证功能之后,所述应用服务器通过识别所述第二拦截标记,来触发所述功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句。
7.根据权利要求6所述的方法,其特征在于,将携带有所述功能权限验证参数的功能权限验证请求发送至所述公共权限服务器进行功能权限的验证,以获取所述功能权限验证请求对应的功能权限验证结果的步骤包括:
所述公共权限服务器接收所述功能权限验证请求;
所述公共权限服务器根据所述功能权限验证参数中的所述用户信息和应用功能入口标识在功能权限规则列表中进行查询,以获取当前功能权限验证请求所对应的功能权限验证结果;
其中,所述功能权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用功能入口标识以及功能权限验证结果之间的映射关联关系。
8.一种权限控制装置,其特征在于,包括:
获取模块,用于获取登录用户的用户信息;
第一组合模块,用于将所述用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;
查询模块,用于将携带有所述数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取所述应用数据访问入口标识所对应的数据访问规则对象;
解析模块,用于接收并解析所述数据访问规则对象,以获取数据权限查询条件;
处理模块,用于应用服务器将所述数据权限查询条件切入所述应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到所述用户信息所对应的数据查询结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一设置模块,用于对需要进行所述数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面;
第一拦截模块,用于在触发数据权限验证功能之后,通过识别所述第一拦截标记,来触发所述数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
身份验证模块,用于根据所述用户信息进行用户身份验证;
所述身份验证模块包括:
获取模块,用于获取客户端发出的用户验证请求,所述用户验证请求包括用户信息;
身份查询模块,用于将所述用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
功能权限验证模块,根据所述用户信息进行功能权限验证;
其中,所述功能权限验证模块包括:第二组合模块,用于将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;功能查询模块,用于将携带有所述功能权限验证参数的功能权限验证请求发送至所述公共权限服务器进行功能权限的验证,以获取所述功能权限验证请求对应的功能权限验证结果。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二设置模块,用于对需要进行功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面;
第二拦截模块,用于在触发功能权限验证功能之后,通过识别所述第二拦截标记,来触发所述功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句。
13.一种权限控制系统,其特征在于,包括:
应用服务器,用于获取登录用户的用户信息,并将所述用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;
公共权限服务器,用于接收由所述应用服务器发送的携带有所述数据权限验证参数的数据权限验证请求,并根据所述数据权限验证请求进行数据权限查询,以获取所述数据权限验证请求所对应的数据访问规则对象;
其中,所述应用服务器在接收到所述公共权限服务器返回的数据访问规则对象之后,解析所述数据访问规则对象,以获取数据权限查询条件,并在将所述数据权限查询条件切入所述应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句之后,根据该新的查询语句查询得到所述用户信息所对应的数据查询结果。
14.根据权利要求13所述的系统,其特征在于,所述应用服务器对需要进行所述数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面,并在触发数据权限验证功能之后,通过识别第一拦截标记,来触发所述数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。
15.根据权利要求13所述的系统,其特征在于,所述系统还包括:
公共用户服务器,用于获取所述应用服务器发出的用户验证请求,所述用户验证请求包括用户信息,并根据所述用户信息进行查询操作,以确认当前用户验证请求中的用户身份是否合法。
16.根据权利要求13所述的系统,其特征在于,所述公共权限服务器还包括:
功能权限验证装置,用于接收由所述应用服务器发送的携带有功能权限验证参数的功能权限验证请求,并根据所述功能权限验证请求进行功能权限的验证,以获取所述功能权限验证请求对应的功能权限验证结果;
其中,所述应用服务器通过将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取所述功能权限验证参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210228214.5A CN103530568B (zh) | 2012-07-02 | 2012-07-02 | 权限控制方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210228214.5A CN103530568B (zh) | 2012-07-02 | 2012-07-02 | 权限控制方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530568A CN103530568A (zh) | 2014-01-22 |
CN103530568B true CN103530568B (zh) | 2016-01-20 |
Family
ID=49932570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210228214.5A Active CN103530568B (zh) | 2012-07-02 | 2012-07-02 | 权限控制方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530568B (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217283A (zh) * | 2014-08-20 | 2014-12-17 | 广东建邦计算机软件有限公司 | 数据共享装置和数据共享系统 |
CN105100051B (zh) * | 2015-05-29 | 2019-04-26 | 上海京东到家元信信息技术有限公司 | 实现数据资源访问权限控制的方法及系统 |
CN106815234B (zh) * | 2015-11-30 | 2019-11-08 | 中国移动通信集团公司 | 一种分享健康数据的方法、装置及数据分享引擎系统 |
CN107292188A (zh) * | 2016-04-12 | 2017-10-24 | 北京明略软件系统有限公司 | 一种控制用户访问权限的方法和装置 |
CN107465641B (zh) * | 2016-06-02 | 2020-08-18 | 上海海典软件股份有限公司 | 基于三层架构软件系统及其数据请求方法 |
CN107544999B (zh) * | 2016-06-28 | 2022-10-21 | 百度在线网络技术(北京)有限公司 | 用于检索系统的同步装置及同步方法、检索系统及方法 |
CN107038388B (zh) * | 2017-02-23 | 2021-03-05 | 深圳市先河系统技术有限公司 | 一种多用户操作系统运行方法、装置及计算机设备 |
CN107689949B (zh) | 2017-03-31 | 2020-03-17 | 平安科技(深圳)有限公司 | 数据库权限管理方法和系统 |
CN107342992B (zh) * | 2017-06-27 | 2020-12-08 | 深圳媒介之家文化传播有限公司 | 一种系统权限管理方法、装置及计算机可读存储介质 |
CN108268798B (zh) * | 2017-06-30 | 2023-09-05 | 勤智数码科技股份有限公司 | 一种数据项权限分配方法及系统 |
EP4284049A3 (en) | 2017-09-29 | 2024-02-28 | Huawei Technologies Co., Ltd. | Method and device for accessing device identifiers |
CN108196837A (zh) * | 2017-12-25 | 2018-06-22 | 国云科技股份有限公司 | 一种系统权限控制方法 |
CN108170860A (zh) * | 2018-01-22 | 2018-06-15 | 北京小度信息科技有限公司 | 数据查询方法、装置、电子设备及计算机可读存储介质 |
CN108304581A (zh) * | 2018-03-05 | 2018-07-20 | 贵州工程应用技术学院 | 一种基于数据权限控制的自助取数引擎和取数方法 |
CN109766686A (zh) * | 2018-04-25 | 2019-05-17 | 新华三大数据技术有限公司 | 权限管理 |
CN109189494B (zh) * | 2018-07-27 | 2022-01-21 | 创新先进技术有限公司 | 配置灰度发布方法、装置、设备及计算机可读存储介质 |
CN109558751A (zh) * | 2018-11-30 | 2019-04-02 | 深圳市盟天科技有限公司 | 一种应用程序的访问方法、装置、服务器及存储介质 |
CN109784088A (zh) * | 2018-12-18 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 用于身份验证的权限认证方法及装置 |
CN109829331B (zh) * | 2018-12-28 | 2021-06-22 | 金螳螂家装电子商务(苏州)有限公司 | 一种基于装修连锁企业员工统一权限的数据管理方法 |
CN111385264A (zh) * | 2018-12-29 | 2020-07-07 | 卓望数码技术(深圳)有限公司 | 一种通信业务数据访问系统和方法 |
CN109815731A (zh) * | 2018-12-29 | 2019-05-28 | 深圳云天励飞技术有限公司 | 权限处理方法及相关设备 |
CN109800561B (zh) * | 2018-12-29 | 2021-10-22 | 360企业安全技术(珠海)有限公司 | 驱动权限控制方法、客户端、系统及存储介质 |
CN109815717A (zh) * | 2019-01-17 | 2019-05-28 | 平安科技(深圳)有限公司 | 数据权限管理方法、数据访问方法、装置、设备及介质 |
CN110162994A (zh) * | 2019-04-16 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 权限控制方法、系统、电子设备及计算机可读存储介质 |
CN110298192A (zh) * | 2019-06-05 | 2019-10-01 | 中国长江三峡集团有限公司 | 一种适配多类型组织的管理信息系统的分级权限管理组件 |
CN110232068B (zh) * | 2019-06-14 | 2022-04-05 | 中国工商银行股份有限公司 | 数据共享方法及装置 |
CN112217774A (zh) * | 2019-07-11 | 2021-01-12 | 中移(苏州)软件技术有限公司 | 一种权限控制系统及方法、服务器、存储介质 |
CN110390008A (zh) * | 2019-07-25 | 2019-10-29 | 东莞市盟大塑化科技有限公司 | 报表推送方法、装置、计算机设备和存储介质 |
CN110750766B (zh) * | 2019-10-12 | 2022-11-04 | 深圳平安医疗健康科技服务有限公司 | 权限验证方法、装置、计算机设备和存储介质 |
CN111191210B (zh) * | 2019-12-10 | 2022-09-27 | 未鲲(上海)科技服务有限公司 | 数据访问权限的控制方法、装置、计算机设备和存储介质 |
CN111339524A (zh) * | 2020-02-26 | 2020-06-26 | 浪潮软件股份有限公司 | 多租户权限控制方法及装置 |
CN111414643B (zh) * | 2020-03-17 | 2024-06-21 | 深圳市卡数科技有限公司 | 数据权限控制方法、装置、服务器及存储介质 |
CN111506611A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 数据的查询方法、装置、设备及存储介质 |
CN112149107B (zh) * | 2020-09-01 | 2024-06-07 | 珠海市卓轩科技有限公司 | 统一权限管理方法、系统、装置及存储介质 |
CN112528656A (zh) * | 2020-12-23 | 2021-03-19 | 安徽航天信息有限公司 | 基于条件分词的权限控制方法、装置、系统及存储介质 |
CN114697396A (zh) * | 2020-12-29 | 2022-07-01 | 北京国双科技有限公司 | 请求处理方法、装置、电子设备及可读存储介质 |
CN113076502A (zh) * | 2021-04-23 | 2021-07-06 | 南京始云网络科技有限公司 | 一种基于请求标识的参数控制方法与系统 |
CN113612730B (zh) * | 2021-07-05 | 2023-04-07 | 裕太微电子股份有限公司 | 一种acl访问规则控制方法、处理装置及系统 |
CN113553316B (zh) * | 2021-07-23 | 2024-05-17 | 中信银行股份有限公司 | 一种多模式数据查询建模方法及系统 |
CN113626863A (zh) * | 2021-08-11 | 2021-11-09 | 杭州橙鹰数据技术有限公司 | 数据处理方法及装置 |
CN113946806A (zh) * | 2021-10-19 | 2022-01-18 | 上海浦东发展银行股份有限公司 | 一种数据权限控制方法、装置、设备及存储介质 |
CN114281844A (zh) * | 2021-12-27 | 2022-04-05 | 赛尔网络有限公司 | 用于业务系统的信息查询方法、存储介质及电子设备 |
CN114861208A (zh) * | 2022-05-17 | 2022-08-05 | 奇安信科技集团股份有限公司 | 数据权限控制方法及数据权限控制服务 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1666171A (zh) * | 2002-05-31 | 2005-09-07 | 李树软件公司 | 在通过多路入口访问的网络资源中管理安全资源 |
CN101572630A (zh) * | 2009-05-22 | 2009-11-04 | 中兴通讯股份有限公司 | 一种基于对象的权限管理系统与方法 |
CN101582767A (zh) * | 2009-06-24 | 2009-11-18 | 阿里巴巴集团控股有限公司 | 授权控制方法和授权服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8397066B2 (en) * | 2009-10-20 | 2013-03-12 | Thomson Reuters (Markets) Llc | Entitled data cache management |
-
2012
- 2012-07-02 CN CN201210228214.5A patent/CN103530568B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1666171A (zh) * | 2002-05-31 | 2005-09-07 | 李树软件公司 | 在通过多路入口访问的网络资源中管理安全资源 |
CN101572630A (zh) * | 2009-05-22 | 2009-11-04 | 中兴通讯股份有限公司 | 一种基于对象的权限管理系统与方法 |
CN101582767A (zh) * | 2009-06-24 | 2009-11-18 | 阿里巴巴集团控股有限公司 | 授权控制方法和授权服务器 |
Non-Patent Citations (1)
Title |
---|
《基于元数据和角色控制的用户权限管理》;王晓超 等;《计算机技术与发展》;20120331;第233-236页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103530568A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530568B (zh) | 权限控制方法、装置及系统 | |
US12041046B2 (en) | System and method for identity management of cloud based computing services in identity management artificial intelligence systems | |
US7299171B2 (en) | Method and system for processing grammar-based legality expressions | |
US8590003B2 (en) | Controlling access to resources by hosted entities | |
US7096219B1 (en) | Method and apparatus for optimizing a data access customer service system | |
US7013334B2 (en) | Network system, device management system, device management method, data processing method, storage medium, and internet service provision method | |
US20200311031A1 (en) | User Environment, Multi-user Collaborative Data Governance Method and Computer-Readable Storage Medium | |
US8433712B2 (en) | Link analysis for enterprise environment | |
US9455990B2 (en) | System and method for role based access control in a content management system | |
US20100017415A1 (en) | Data access control method and data access control apparatus | |
US20110313981A1 (en) | Data Privacy, Redaction and Integrity for Relational Databases | |
CN104573478A (zh) | 一种Web应用的用户权限管理系统 | |
GB2556924A (en) | Accessing databases | |
US20180330428A1 (en) | Enterprise data marketplace system and method | |
US10268721B2 (en) | Protected handling of database queries | |
US20100125893A1 (en) | Techniques for enforcing access rights during directory access | |
CN106096976A (zh) | 小型企业客户关系管理方法 | |
US20210081421A1 (en) | EFFICIENTLY SUPPORTING VALUE STYLE ACCESS OF MOBs STORED IN SQL LOB COLUMN BY PROVIDING VALUE BASED SEMANTICS FOR LOBs IN RDBMS | |
US20190266210A1 (en) | Using cache and bloom filters for url lookups | |
Ghazinour et al. | Capturing P3P semantics using an enforceable lattice-based structure | |
Morris et al. | Professional Service Firms | |
Praciano et al. | Purpose scan: A purpose-aware access method | |
Skinner et al. | Defining and protecting meta privacy: a new conceptual framework within information privacy | |
US10769298B1 (en) | Security system for benchmark access | |
Dwivedi et al. | Database Access Control for E-Business–A case study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |