一种基于角色的资源范围控制方法技术

技术编号:14015986 阅读:66 留言:0更新日期:2016-11-18 01:02
本发明专利技术涉及软件权限设计技术领域,尤其是一种基于角色的资源范围控制方法。本发明专利技术以RBAC的思路建立数据表,追加了角色资源范围表;在客户端调用服务端接口的时候,首先判断是否有该功能权限,如果没有该功能权限就报错并返回;如果有该功能权限,则根据角色的资源范围,在SQL上追加限制;自建资源的话只返回自己建立的数据,全部资源的话返回全部数据。本发明专利技术将资源范围限制整合到RBAC当中,使资源范围具有了可定义的特性,系统的管理员能够更灵活地控制每个人的可见范围,适用于所有需要进行资源范围控制的系统软件。

【技术实现步骤摘要】

本专利技术涉及软件权限设计
,尤其是一种基于角色的资源范围控制方法。技术背景在系统软件的权限设计里,RBAC(基于角色的访问控制)是一套为人熟知的方案,它可以控制功能权限,即控制用户能不能看见某个功能、能不能访问某个接口。但是如果想控制有些人只能看自己的数据、有些人能看自己和下属的数据、有些人能看全部人的数据。在RBAC(基于角色的访问控制)是做不到的。
技术实现思路
本专利技术解决的技术问题在于提供一种基于角色的资源范围控制方法,通过将RBAC扩展到RBRC(基于角色的资源范围控制),解决RBAC无法控制资源范围的问题。本专利技术解决上述技术问题的技术方案,所述的方法包括以下步骤:步骤1:根据RBAC的要求建立数据表,然后追加角色资源范围表;步骤2:在客户端调用服务端接口时,首先判断是否有该功能权限,如果没有该功能权限就报错并返回;如果有该功能权限,则根据角色的资源范围,在SQL上追加限制;步骤3:向数据库查询数据,自建资源则只返回自己建立的数据,全部资源则返回全部数据;步骤4:将数据返回到客户端。在追加角色资源范围表后,可根据实际需要再追加用户关系表;此时,在向数据库查询数据时,部分资源则返回自己跟下属的数据。所述RBAC是基于角色的访问控制;是一功能权限控制的方案;功能权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限,简化权限管理;所述根据RBAC的要求建立数据表,是指用户跟角色多对多关联、角色跟权限多对多关联;所述角色资源范围表,用于记录角色拥有的资源范围:自建、部分、全部;部分为可选择方式;所述用户关系表,用于记录用户的上级,在进行资源范围控制的时候,“部分资源”需要用到。所述根据角色的资源范围在SQL追加限制,是指在非RBRC模式的查询SQL后面,根据角色的资源范围,追加一个查询条件,此查询条件作用于数据的拥有者。所述自建资源,是指当前用户创建的资源;所述部分资源,是指当前用户创建的资源以及下属创建的资源;所述全部资源,是指系统所有人创建的资源。本专利技术通过将RBAC扩展到RBRC,解决了RBAC(基于角色的访问控制)无法控制资源范围的问题,使得资源范围变得跟功能权限一样,具有了可定义的 特性,让系统的管理员能够更灵活地控制每个人的可见范围,适用于所有需要进行资源范围控制的系统软件。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图;图2为本专利技术的RBAC基础实体关系图;图3为本专利技术RBRC改进后的实体关系图。具体实施方式见附图1-3所示,本专利技术的方法按照如下具体步骤实施:1、按RBAC(基于角色的访问控制)建立数据表。如图1所示。2、追加角色的资源范围表,用于记录角色拥有的资源范围:自建、部分(可选)、全部;按需要还可以追加用户关系表用于记录用户的上级,在进行资源范围控制的时候,“部分资源”需要用到。构成了RBRC的实体关系图,如图2所示。3、功能权限和资源范围的相关SQL如下(问号替换成实际ID):4、在客户端调用服务端接口的时候,首先判断是否有该功能权限,如果没有该功能权限就报错并返回;如果有该功能权限,则根据角色的资源范围,在SQL上追加限制,自建资源的话只返回自己建立的数据,部分资源(如果有用户关系表)的话返回自己跟下属的数据,全部资源的话返回全部数据。以请假单为例,示范SQL如下(问号替换成实际ID):5、最后,将SQL传到向数据库进行查询,并向客户端返回查询结果。本文档来自技高网...
一种基于角色的资源范围控制方法

【技术保护点】
一种基于角色的资源范围控制方法,其特征在于,所述的方法包括以下步骤:步骤1:根据RBAC的要求建立数据表,然后追加角色资源范围表;步骤2:在客户端调用服务端接口时,首先判断是否有该功能权限,如果没有该功能权限就报错并返回;如果有该功能权限,则根据角色的资源范围,在SQL上追加限制;步骤3:向数据库查询数据,自建资源则只返回自己建立的数据,全部资源则返回全部数据;步骤4:将数据返回到客户端。

【技术特征摘要】
1.一种基于角色的资源范围控制方法,其特征在于,所述的方法包括以下步骤:步骤1:根据RBAC的要求建立数据表,然后追加角色资源范围表;步骤2:在客户端调用服务端接口时,首先判断是否有该功能权限,如果没有该功能权限就报错并返回;如果有该功能权限,则根据角色的资源范围,在SQL上追加限制;步骤3:向数据库查询数据,自建资源则只返回自己建立的数据,全部资源则返回全部数据;步骤4:将数据返回到客户端。2.根据权利要求1所述的基于角色的资源范围控制方法,其特征在于:在追加角色资源范围表后,可根据实际需要再追加用户关系表;此时,在向数据库查询数据时,部分资源则返回自己跟下属的数据。3.根据权利要求2所述的基于角色的资源范围控制方法,其特征在于:所述RBAC是基于角色的访问控制;是一功能权限控制的方案;功能权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限,简化权限管理;所述根据RBAC的要求建立数据表...

【专利技术属性】
技术研发人员:梁炜平杨松季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

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

1