权限控制方法、装置及系统制造方法及图纸

技术编号:9597037 阅读:75 留言:0更新日期:2014-01-23 02:28
本申请公开了一种权限控制方法、装置及系统。其中,该方法包括:获取登录用户的用户信息;将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;接收并解析数据访问规则对象,以获取数据权限查询条件;将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。通过本申请,能够独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制。

【技术实现步骤摘要】
【专利摘要】本申请公开了一种权限控制方法、装置及系统。其中,该方法包括:获取登录用户的用户信息;将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;接收并解析数据访问规则对象,以获取数据权限查询条件;将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。通过本申请,能够独立部署和统一配置管理的权限服务,达到了细粒度的数据权限控制。【专利说明】权限控制方法、装置及系统
本申请涉及计算机领域,具体而言,涉及一种权限控制方法、装置及系统。
技术介绍
目前复杂的供应链系统集群中,需要对复杂的用户类型进行数据权限控制。当一个系统具有多种类型的用户时,系统对不同用户的数据权限的控制要求不同,例如一个企业的销售流程系统,对企业组织结构中的不同职位用户的数据权限限制是不同的,同样的查询功能对于销售总监、地区经理、普通销售员工,查询得到的销售数据的结果、范围和内容都会有区别。在数据权限控制的实施过程中,当系统功能对数据要求简单时,可以将数据权限控制放在应用服务器中应用服务的每个功能单元里使得更有利于减少成本,即系统不需要单独的数据权限服务,应用服务器系统自身完成数据权限验证,以执行不同操作即可。但是当系统功能复杂,而且用户类型也复杂时,如果仍然在应用服务器系统的业务逻辑中加入复杂的用户权限判断逻辑,会让应用服务器中的应用系统变得臃肿而不易维护;并且如果数据权限控制的需求发生变动时,需要花费大量的成本去修改散落在应用系统功能中的权限判断逻辑。具体的,业内现有的数据权限控制的实现方案有两种,一是依据用户权限选择不同的功能入口查询不同的数据集,二是在功能入口传入用户信息参数使用动态SQL拼装,来获取不同数据集。对于第一种方案,适用于数据权限控制要求比较简单的应用,例如大多数网站系统,用户简单的分为游客和会员,功能比较丰富的网站如淘宝等会有会员级别。但是这种系统的用户类型与供应链系统相比简单许多,在供应链系统集群中,由于使用系统的人有多个业务团队多种角色,还有很多复杂的层级以及责任关联关系,所以使用多功能入口控制数据权限,应用系统将划分很多精力放在权限判断上,不利于业务逻辑梳理,同时也难以维护复杂和适应可变的数据权限管理需求。对于第二种方案,适用于单系统应用,这样的应用很少与其他应用协作,并且使用的数据源单一。但是对于供应链系统集群,会有系统间的数据交互,如果使用这种方式,首先所有的远程接口都需要加入动态SQL拼装必须的用户参数,使接口复杂,其次为多个应用提供数据源的服务,将难以适应这些应用不同的数据权限需求,最后散落在动态SQL中的权限判断将更难以管理,而且同样也难以适应可变的权限管理需求。目前针对相关技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术的数据权限控制系统维护复杂,且无法满足复杂的、细粒度数据权限控制功能的问题,目前尚未提出有效的解决方案,为此,本申请的主要目的在于提供一种权限控制方法、装置及系统,以解决上述问题。为了实现上述目的,根据本申请的一个方面,提供了一种权限控制方法,该方法包括:应用服务器获取登录用户的用户信息;应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;应用服务器将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象;应用服务器接收并解析数据访问规则对象,以获取数据权限查询条件;应用服务器将数据权限查询条件切入应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到用户信息所对应的数据查询结果。进一步地,在应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,方法还包括:应用服务器对需要进行数据权限查询的应用数据访问入口标识加载拦截标记,并在公共类库中设置数据权限拦截切面;在触发数据权限验证功能之后,应用服务器通过识别第一拦截标记,来触发数据权限拦截切面,以拦截加载了该第一拦截标记的应用数据访问入口标识所对应的权限查询SQL语句。进一步地,应用服务器将携带有数据权限验证参数的数据权限验证请求发送至公共权限服务器,进行数据权限查询,以获取应用数据访问入口标识所对应的数据访问规则对象的步骤包括:公共权限服务器接收数据权限验证请求;公共权限服务器根据数据权限验证参数中的用户信息和应用数据访问入口标识在数据权限规则列表中进行查询,以获取当前数据权限验证请求所对应的数据访问规则对象;其中,数据权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用数据访问入口标识以及数据访问规则对象之间的映射关联关系。进一步地,在应用服务器获取登录用户的用户信息之后,方法还包括:应用服务器根据用户信息进行用户身份验证;在用户身份验证通过的情况下,进入获取数据权限验证请求的步骤;其中,应用服务器根据用户信息进行用户身份验证的步骤包括:获取客户端发出的用户验证请求,用户验证请求包括用户信息;将用户信息发送至公共用户服务器进行查询,以确认当前用户验证请求中的用户身份是否合法。进一步地,在应用服务器将用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数之前,方法还包括:应用服务器根据用户信息进行功能权限验证;其中,根据用户信息进行功能权限验证的步骤包括:应用服务器将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数;将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果。进一步地,在将获取到的用户信息和需要进行功能权限验证的应用功能入口标识进行组合,以获取功能权限验证参数之前,方法还包括:应用服务器对需要进行功能权限验证的应用功能入口标识加载第二拦截标记,并在公共类库中设置功能权限拦截切面;在触发功能权限验证功能之后,应用服务器通过识别第二拦截标记,来触发功能权限拦截切面,以拦截加载了该第二拦截标记的应用功能入口标识所对应的权限查询SQL语句。进一步地,将携带有功能权限验证参数的功能权限验证请求发送至公共权限服务器进行功能权限的验证,以获取功能权限验证请求对应的功能权限验证结果的步骤包括:公共权限服务器接收功能权限验证请求;公共权限服务器根据功能权限验证参数中的用户信息和应用功能入口标识在功能权限规则列表中进行查询,以获取当前功能权限验证请求所对应的功能权限验证结果;其中,功能权限规则列表为预先设置的数据表,用于保存一组或多组用户信息、应用功能入口标识以及功能权限验证结果之间的映射关联关系。为了实现上述目的,根据本申请的另一方面,提供了一种权限控制装置,该装置包括:获取模块本文档来自技高网
...

【技术保护点】
一种权限控制方法,其特征在于,包括:应用服务器获取登录用户的用户信息;所述应用服务器将所述用户信息和需要进行数据权限查询的应用数据访问入口标识进行组合,以获取数据权限验证参数;所述应用服务器将携带有所述数据权限验证参数的数据权限验证请求发送至所述公共权限服务器,进行数据权限查询,以获取所述应用数据访问入口标识所对应的数据访问规则对象;所述应用服务器接收并解析所述数据访问规则对象,以获取数据权限查询条件;所述应用服务器将所述数据权限查询条件切入所述应用数据访问入口标识所对应的权限查询SQL语句,以获取新的受数据权限控制的查询语句,并根据该新的查询语句查询得到所述用户信息所对应的数据查询结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:郎中锋周春雷
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1