System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于RBAC模式的数据权限的设计方法技术_技高网

一种基于RBAC模式的数据权限的设计方法技术

技术编号:42903244 阅读:5 留言:0更新日期:2024-09-30 15:19
本发明专利技术适用于数据权限技术领域,提供了一种基于RBAC模式的数据权限的设计方法,包括RBAC模型,传统RBAC模型中,用户和角色之间是多对多的关系,一个用户可以被赋予若干角色,一个角色也可以被赋予若干用户,所述S1、基于RBAC模型的数据权限架构设计:传统应用中仅涉及应用的功能权限,依据RBAC模型在功能权限的基础上增加数据权限的设计,本发明专利技术一种基于RBAC模式的数据权限的设计方法,应用系统除原有的功能权限外,增加了对于用户数据细粒度行级别的数据权限控制,即功能权限可以实现控制整个模块菜单页面的显示隐藏,数据权限可以实现各模块数据的无权限(不可见)、只读权限、读写权限等。

【技术实现步骤摘要】

本专利技术涉及数据权限,更具体地说,它涉及一种基于rbac模式的数据权限的设计方法。


技术介绍

1、常见的应用的权限设计是一般是应用的功能权限,简单来说就是用户登录后,能看到哪些具体模块、菜单、页面、操作按钮等,从而能执行哪些操作。

2、但是随着近些年对于数据安全的重视,除常见的功能权限外,一些项目将应用上的重要模块用户生产的敏感数据也纳入权限管理的范畴,于是对于用户数据的访问控制也提出了更加细致的的要求,控制粒度细化到行列级别的访问控制,如行级别的访问控制权限可继续细化为无权限(不可见)、只读权限、读写权限,甚至是导入导出、移动复制等具体的业务操作。于是传统的应用的功能权限便难以满足数据细粒度权限控制的需要,主要存在以下问题:

3、(1)功能权限的虽然能实现一定程度的数据权限,如可以控制整个模块菜单页面的显示隐藏,但是无法做到对数据行列级别的细粒度的操作权限控制。

4、(2)数据权限操除传统的无权限(不可见)、只读权限、读写权限外,对于数据的操作控制要求还可以细化到如导入导出、移动复制等具体的业务功能,常见的权限设计也并不能实现。

5、于是针对具体的项目业务,需要新的数据权限功能架构设计。


技术实现思路

1、针对现有技术存在的不足,本专利技术的目的在于提供一种基于rbac模式的数据权限的设计方法。

2、为实现上述目的,本专利技术提供了如下技术方案:

3、一种基于rbac模式的数据权限的设计方法,包括rbac模型,传统rbac模型中,用户和角色之间是多对多的关系,一个用户可以被赋予若干角色,一个角色也可以被赋予若干用户,所述s1、基于rbac模型的数据权限架构设计:传统应用中仅涉及应用的功能权限,依据rbac模型在功能权限的基础上增加数据权限的设计,可以依据“一切皆资源”的概念,将资源的概念拓展为既可以是包括具体的如页面、菜单、按钮等,还包括抽象的如接口、可筛选的数据范围,甚至可扩展至系统、业务线数据等等一切想进行操作权限区分的事物;

4、s2、基于rbac模型的数据权限模型的应用权限流程:

5、基于上述数据权限模型,用户数据权限应用业务的整体实现流程简介如下,管理员对用户的角色进行授权操作时,调用系统权限服务api获取应用的全部数据资源树结构,并在资源树上进行授权去权等操作,系统权限服务api记录授权资源与授权的权限类型(如只读、读写等)。

6、本专利技术进一步设置为:所述s1中可以重新设计权限架构,除菜单表等传统的资源外,可以将各个模块业务表的数据纳入资源管理,区别于功能权限,角色资源权限除了应记录对于资源的访问权限外,还应记录对于该资源的操作权限,从而实现用户对于数据资源的航迹别的操作控制。

7、本专利技术进一步设置为:所述角色资源权限表可记录可访问的资源,资源操作可记录对于资源的操作权限如只读、读写、导入导出、移动复制等。

8、本专利技术进一步设置为:所述资源操作表可以根据项目数据操作的复杂情况留存,当数据操作不需要进行详细区分时,可在资源表中增加字段代替改表。

9、本专利技术进一步设置为:除所述原模型的模块菜单页面按钮等资源外,增加了应用各个模块需要进行数据权限控制的业务数据。

10、本专利技术进一步设置为:在所述业务操作复杂的情况下,可以增加对于资源操作类型的记录表,记录资源对应的业务操作(如导入导出、移动复制、传统的新增编辑删除等),当然根据实际中业务操作的复杂情况,可以省略该表。

11、本专利技术进一步设置为:所述s2中当用户进行具体业务模块操作时,调用该具体业务模块服务api,该api除查询所属模块业务数据,另外还需要调用系统权限服务api构造补全带有权限操作标识的数据返回给前端。

12、本专利技术进一步设置为:所述前端根据业务数据的权限标识在页面上展示/隐藏操作按钮,用户操作页面按钮变更业务数据后,前端按钮对应的业务请求最后由拦截器对该业务操作请求进行鉴权放行,从而实现数据权限的实现。

13、本专利技术进一步设置为:依据本专利技术提出的所述数据权限模型,在实际项目数据权限需求落地实现过程中,对应用原有基于rbac模型的权限需求进行改造。

14、本专利技术进一步设置为:所述rbac模型主要涉及对系统中对后端权限服务api与数据库表结构的修改的实现,其过程参考如下:

15、(1)应用资源涉及多个业务模块,同时同一个业务模块下的数据操作权限并不相同,如父文件夹为操作权限(读写)、子文件为只读权限,角色权限表sys_role_resource增加模块标识module_flag与数据操作标识right_flag字段。模块标识字段标识资源数据的来源,数据操作标识字段标识该资源数据的可执行操作;

16、(2)引入数据权限后,不同用户对同一数据权限不同外,数据权限控制的粒度细化到行级别,同一用户对模块内的各行数据权限也并不一致,可以由后端将数据操作标识right_flag字段返回到具体业务的数据结构中,根据可由前端根据该标识控制具体操作按钮的展示隐藏可操作等;

17、(3)对于各业务模块的具体业务数据操作,后端可以采用注解拦截器校验,拦截器调用系统api服务查询鉴权,放行或拦截具体模块的业务请求。

18、本专利技术的优点是:

19、1、本专利技术一种基于rbac模式的数据权限的设计方法,应用系统除原有的功能权限外,增加了对于用户数据细粒度行级别的数据权限控制,即功能权限可以实现控制整个模块菜单页面的显示隐藏,数据权限可以实现各模块数据的无权限(不可见)、只读权限、读写权限等,甚至是导入导出、移动复制等具体的业务操作。

20、2、本专利技术一种基于rbac模式的数据权限的设计方法,因为数据权限控制至行级别,实现了应用同模块同一前端页面上,不同行数据业务操作按钮的隐藏/展示的差异化。

21、3、本专利技术一种基于rbac模式的数据权限的设计方法,未来可参考本专利技术,如数据权限想细化至列级别,在本专利技术设计优化后的模型基础上也可以参考继续研究细化实现。

本文档来自技高网...

【技术保护点】

1.一种基于RBAC模式的数据权限的设计方法,包括RBAC模型,传统RBAC模型中,用户和角色之间是多对多的关系,一个用户可以被赋予若干角色,一个角色也可以被赋予若干用户,其特征在于:所述S1、基于RBAC模型的数据权限架构设计:传统应用中仅涉及应用的功能权限,依据RBAC模型在功能权限的基础上增加数据权限的设计,可以依据“一切皆资源”的概念,将资源的概念拓展为既可以是包括具体的如页面、菜单、按钮等,还包括抽象的如接口、可筛选的数据范围,甚至可扩展至系统、业务线数据等等一切想进行操作权限区分的事物;

2.根据权利要求1所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:所述S1中可以重新设计权限架构,除菜单表等传统的资源外,可以将各个模块业务表的数据纳入资源管理,区别于功能权限,角色资源权限除了应记录对于资源的访问权限外,还应记录对于该资源的操作权限,从而实现用户对于数据资源的航迹别的操作控制。

3.根据权利要求2所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:所述角色资源权限表可记录可访问的资源,资源操作可记录对于资源的操作权限如只读、读写、导入导出、移动复制等。

4.根据权利要求3所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:所述资源操作表可以根据项目数据操作的复杂情况留存,当数据操作不需要进行详细区分时,可在资源表中增加字段代替改表。

5.根据权利要求4所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:除所述原模型的模块菜单页面按钮等资源外,增加了应用各个模块需要进行数据权限控制的业务数据。

6.根据权利要求5所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:在所述业务操作复杂的情况下,可以增加对于资源操作类型的记录表,记录资源对应的业务操作(如导入导出、移动复制、传统的新增编辑删除等),当然根据实际中业务操作的复杂情况,可以省略该表。

7.根据权利要求1所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:所述S2中当用户进行具体业务模块操作时,调用该具体业务模块服务API,该API除查询所属模块业务数据,另外还需要调用系统权限服务API构造补全带有权限操作标识的数据返回给前端。

8.根据权利要求7所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:所述前端根据业务数据的权限标识在页面上展示/隐藏操作按钮,用户操作页面按钮变更业务数据后,前端按钮对应的业务请求最后由拦截器对该业务操作请求进行鉴权放行,从而实现数据权限的实现。

9.根据权利要求8所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:依据本专利技术提出的所述数据权限模型,在实际项目数据权限需求落地实现过程中,对应用原有基于RBAC模型的权限需求进行改造。

10.根据权利要求8所述的一种基于RBAC模式的数据权限的设计方法,其特征在于:所述RBAC模型主要涉及对系统中对后端权限服务API与数据库表结构的修改的实现,其过程参考如下:

...

【技术特征摘要】

1.一种基于rbac模式的数据权限的设计方法,包括rbac模型,传统rbac模型中,用户和角色之间是多对多的关系,一个用户可以被赋予若干角色,一个角色也可以被赋予若干用户,其特征在于:所述s1、基于rbac模型的数据权限架构设计:传统应用中仅涉及应用的功能权限,依据rbac模型在功能权限的基础上增加数据权限的设计,可以依据“一切皆资源”的概念,将资源的概念拓展为既可以是包括具体的如页面、菜单、按钮等,还包括抽象的如接口、可筛选的数据范围,甚至可扩展至系统、业务线数据等等一切想进行操作权限区分的事物;

2.根据权利要求1所述的一种基于rbac模式的数据权限的设计方法,其特征在于:所述s1中可以重新设计权限架构,除菜单表等传统的资源外,可以将各个模块业务表的数据纳入资源管理,区别于功能权限,角色资源权限除了应记录对于资源的访问权限外,还应记录对于该资源的操作权限,从而实现用户对于数据资源的航迹别的操作控制。

3.根据权利要求2所述的一种基于rbac模式的数据权限的设计方法,其特征在于:所述角色资源权限表可记录可访问的资源,资源操作可记录对于资源的操作权限如只读、读写、导入导出、移动复制等。

4.根据权利要求3所述的一种基于rbac模式的数据权限的设计方法,其特征在于:所述资源操作表可以根据项目数据操作的复杂情况留存,当数据操作不需要进行详细区分时,可在资源表中增加字段代替改表。

5.根据权利要求4所述的一种基于rbac模式的数据权限的设计方法,其...

【专利技术属性】
技术研发人员:李康李玉涛李毅仁陈云朋黎荣华田逸高泽刘瑶瑶
申请(专利权)人:河钢数字技术股份有限公司
类型:发明
国别省市:

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

1