CN105653962B - 一种面向对象的用户角色资源权限模型管理方法 - Google Patents
一种面向对象的用户角色资源权限模型管理方法 Download PDFInfo
- Publication number
- CN105653962B CN105653962B CN201410649250.8A CN201410649250A CN105653962B CN 105653962 B CN105653962 B CN 105653962B CN 201410649250 A CN201410649250 A CN 201410649250A CN 105653962 B CN105653962 B CN 105653962B
- Authority
- CN
- China
- Prior art keywords
- resource
- role
- user
- data
- management method
- 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
Landscapes
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种面向对象的用户角色资源权限模型管理方法,在安全模型中用户、角色、资源三种对象关系划分的基础上增加用户与资源的划分、角色与角色的划分。把对象的关系从树形结构拓展为网状结构。增加资源对象的属性,使权限不仅管理功能也能管理数据。利用算法的优化提高资源检索定位效率。新的方法使安全模型更加真实的反映现实情况,简化应用操作。同时把权限管理集中在MVC模式中的控制层,强调持久层与数据权限分离,即增加权限分配的灵活性又避免了系统的修改调整。
Description
技术领域
本发明属于计算机应用领域,具体说就是在软件系统开发中采用的一种面向对象的用户角色资源权限模型管理方法。
背景技术
企业应用系统对安全问题有较高的要求,传统的访问控制方法DAC(Discretionary Access Control,自主访问控制模型)、MAC(Mandatory Access Control,强制访问控制模型)难以满足复杂的企业环境需求。因此,NIST(National Institute ofStandards and Technology,美国国家标准化和技术委员会)于上世纪90年代初提出了基于角色的访问控制方法,实现了用户与访问权限的逻辑分离,更符合企业的用户、组织、数据和应用特征。
在软件开发中经常采用R-F-RBAC(Role-Function-Resource Based AccessControl)角色-功能-资源的权限控制模型的管理模式,即把整个访问控制过程分成两步:访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。具有很强通用性,较高的灵活性和可扩充性,兼顾了安全性和效率,易于维护。能使合法用户方便地使用系统,并满足系统对用户权限的控制需求。
普通角色-功能-资源的权限控制模型,关系简单,用户仅与角色是一对多关系,角色仅与资源是一对多的关系,是一个简单的树形结构。在实际应用上实现操作步骤多,资源与用户分配固化繁琐,无法真正反映显示情况。
发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种面向对象的用户角色资源权限模型管理方法。
本发明为实现上述目的所采用的技术方案是:一种面向对象的用户角色资源权限模型管理方法,包括以下步骤:
建立用户、角色、资源三个对象;
在数据库中建立数据结构表;
用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系;
当用户访问功能或数据时,根据提供的资源ID在用户的资源集合及角色资源中进行比对,如有相同ID即允许否则不允许。
所述资源对象包括数据、功能两种类型。
所述角色对象的属性有三种:角色集合、资源集合和角色资源对象集合;所述角色集合存储角色队列,所述资源集合存储资源队列,角色资源对象集合汇总角色所拥有的全部且唯一的资源对象。
所述用户对象的属性有三种:角色集合、资源集合和用户资源对象集合;所述角色集合中存储角色队列,所述资源集合存储资源队列,用户资源对象集合汇总用户所拥有的全部且唯一的资源对象。
所述角色对象包含子角色,角色关系是单层或多层。
本发明具有以下优点及有益效果:
1.数据访问权限由资源控制,避免对数据库的权限设置,降低了系统的复杂性,同时保证了应用的灵活性。
2.采用面向对象的技术,打破了常规的直接将权限赋予用户的模式,建立一套高透明度、细粒度的角色、用户、权限控制管理新模式,该设计不依赖于具体的实施平台,也不会对架构产生限制。
3.面向角色的用户管理可以简便、有效地提高数据分析应用能力,从而保证系统中数据的有效性和完整性。
附图说明
图1为本发明的系统结构图
图2为本发明的数据结构图
图3为本发明对象关系图
图4为本发明的访问权限和验证权限的示意图
图5为本发明的系统应用流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
如图1所示,建立用户、角色、资源三个类。其中资源包括数据、功能两种类型。角色对象的属性有三种分别是角色集合、资源集合和角色资源对象集合。角色集合中存储角色队列,资源集合存储资源队列。角色资源集合汇总角色所拥有的全部且唯一的资源对象。用户对象的属性有三种分别是角色集合、资源集合和角色资源对象集合。角色集合中存储角色队列,资源集合存储资源队列。用户资源集合汇总用户所拥有的全部且唯一的资源对象。
用户指拥有该软件用户名和密码的个体。用户对象的关键属性是用户的权限属性,权限属性是用户的角色权限和用户所在部门权限的计算结果,无论是操作级权限还是数据级权限都是根据用户的权限属性来判断的。往往在一个系统中要区分内部的用户、外部的用户,这两种用户又可细分为若干不同的身份,他们一般来说具有的职责和权限是不同的。因此系统可以对他们赋以不同的权限,确保他们的操作合法,保证系统的安全性。
角色是指具有明确行为准则、确定的行为方式、完成规定范围任务的实体。系统的主要参与者是局内部各个部门具有不同角色的人员。角色限制用户在系统中能做什么和不能做什么,从而保证系统中数据的有效性。如普通监管人员能添加监管记录信息,但主管领导可能不需要添加这部分功能,甚至这些细节领导基本不过问;主管领导,作为决策者需要了解企业在某个时间段内的被监管情况以及监管人员按照工作计划在某个时间段内工作效率情况的考察情况等信息,但这些汇总信息普通监管人员不需要了解。通过角色的管理实现了不同“级别”的用户。
资源作为不可分的单体对象存在。资源对象分为功能和数据两种类型。资源可以被直接分配给角色或用户,但资源不可以分配给资源。通常情况下,如用户拥有某一(功能)操作级资源,用户就具有行使操作的权利,这类资源往往是在程序初始化时完成的,表现方式是操作按钮或菜单的显示、隐藏和灰色显示。另一类资源叫做数据级资源。数据级资源是操作所有权的深化,有了操作的资源,不一定具有数据的资源。具体来说数据级资源指不涉及操作功能的、与用户处理或操作对象有关的数据的资源。此外,数据级资源是分等级的有层次的,通过对数据级资源等级的划分,就可以明确地定义对数据的所有权。
数据访问权限由资源控制,避免对数据库的权限设置,降低了系统的复杂性,同时保证了应用的灵活性。
管理用户对象权限并为其分配角色和资源,多个角色构成用户对象的角色集合属性,多个资源构成用户对象的资源集合属性,角色资源属性在角色集合属性变更时遍历所有角色包含的资源并获得资源集合,赋值给用户对象;
管理角色对象并为其分配角色和资源,多个角色构成角色对象的角色集合属性,多个资源构成角色对象的资源集合属性,角色资源属性在角色集合属性变更时遍历所有角色包含的资源,获得资源集合赋值给角色对象;
资源对象分为功能和数据两种类型,资源可以被直接分配给角色或用户,不可以分配给资源;
当用户访问功能或数据时,根据提供的资源ID在用户的资源集合及角色资源中进行比对,如有相同ID即允许否则不允许。
通过根据提供的资源ID在用户的资源集合及角色资源中进行比对判断用户权限。
用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系。
系统采用了通用的数据结构模型来支撑安全模型及系统通行证,数据库的设计需要四张基本信息表:其中有用户表、角色表、资源表、系统表。用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系。
在数据库中按图2所描述的数据结构建表,存储对象数据、映射数据对象。
按图3所示分配对象关系,管理角色对象为其分配角色并资源,角色对象的角色集合属性可以包含多个角色,同时角色对象的资源集合属性包含多个资源。角色资源属性在角色集合属性变更同时遍历所有角色包含的资源获得资源集合赋值给角色并保证资源的唯一性,以便于提高检索效率。角色对象可以包含子角色,角色关系可以是多层。子角色不能包含父角色,角色划分时需要遍历角色关系,避免已有归属关系的角色再次划分以降低关系网络的复杂度。管理用户权限为其分配角色并资源,用户对象的角色集合属性可以包含多个角色,同时用户对象的资源集合属性包含多个资源。角色资源属性在角色集合属性变更同时遍历所有角色包含的资源获得资源集合赋值给用户,并保证资源的唯一性,以便于提高检索效率。
当用户访问功能或数据时,按图4所示进行访问权限和验证权限判断。根据提供的资源对象ID在用户的资源集合及角色资源中进行比对,如有相同对象ID即允许否则不允许。
按图5所示在真实的软件系统应用中,登录时进行用户对象实例化一次性获得用户的所有权限属性,减少对持久层对象的访问降低网络和数据库资源开销。如果用户实例化失败即用户没有注册或者系统运行故障,根据实际情况反馈结果。当用户发起活动时,系统提交相应的资源ID与用户对象所属资源集合进行比对,包含此ID系统响应活动否则提示无权限。在后台管理角色、资源等数据信息,关联映射用户、角色、资源关系为用户分配权限。
Claims (3)
1.一种面向对象的用户角色资源权限模型管理方法,其特征在于,包括以下步骤:
建立用户、角色、资源三个对象;
在数据库中建立数据结构表;
用户对象与角色对象通过用户角色映射表确立关系、角色对象与资源对象通过角色资源映射表确立关系、用户系统通行证表确立用户对象与系统的关系;所述角色对象的属性有三种:角色集合、资源集合和角色资源对象集合;所述角色集合存储角色队列,所述资源集合存储资源队列,角色资源对象集合汇总角色所拥有的全部且唯一的资源对象;所述用户对象的属性有三种:角色集合、资源集合和用户资源对象集合;所述角色集合中存储角色队列,所述资源集合存储资源队列,用户资源对象集合汇总用户所拥有的全部且唯一的资源对象;
当用户访问功能或数据时,根据提供的资源ID在用户的资源集合及角色资源中进行比对,如有相同ID即允许否则不允许。
2.根据权利要求1所述的一种面向对象的用户角色资源权限模型管理方法,其特征在于,所述资源对象包括数据、功能两种类型。
3.根据权利要求1所述的一种面向对象的用户角色资源权限模型管理方法,其特征在于,所述角色对象包含子角色,角色关系是单层或多层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410649250.8A CN105653962B (zh) | 2014-11-14 | 2014-11-14 | 一种面向对象的用户角色资源权限模型管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410649250.8A CN105653962B (zh) | 2014-11-14 | 2014-11-14 | 一种面向对象的用户角色资源权限模型管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653962A CN105653962A (zh) | 2016-06-08 |
CN105653962B true CN105653962B (zh) | 2018-07-31 |
Family
ID=56478976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410649250.8A Active CN105653962B (zh) | 2014-11-14 | 2014-11-14 | 一种面向对象的用户角色资源权限模型管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653962B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227785A (zh) * | 2016-07-15 | 2016-12-14 | 杭州数梦工场科技有限公司 | 一种页面对象的显示方法和装置 |
CN109766718A (zh) * | 2018-12-27 | 2019-05-17 | 国网上海市电力公司 | 一种易于扩展数据权限的分级分权方法及装置 |
CN111046354A (zh) * | 2019-11-05 | 2020-04-21 | 京东数字科技控股有限公司 | 一种访问和客户端访问管理方法、系统及介质 |
CN112906028A (zh) * | 2021-03-04 | 2021-06-04 | 广州虎牙科技有限公司 | 访问控制方法、装置、电子设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787456A (zh) * | 2005-10-24 | 2006-06-14 | 南京邮电大学 | 一种基于扩展角色的五层资源访问控制方法 |
CN102456103A (zh) * | 2010-10-26 | 2012-05-16 | 王芳 | 一种改进的rbac访问控制模型 |
CN103299268A (zh) * | 2010-12-29 | 2013-09-11 | 凡诺尼斯系统有限公司 | 用于确定用户组对数据元素组的数据访问权限的方法及装置 |
-
2014
- 2014-11-14 CN CN201410649250.8A patent/CN105653962B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787456A (zh) * | 2005-10-24 | 2006-06-14 | 南京邮电大学 | 一种基于扩展角色的五层资源访问控制方法 |
CN102456103A (zh) * | 2010-10-26 | 2012-05-16 | 王芳 | 一种改进的rbac访问控制模型 |
CN103299268A (zh) * | 2010-12-29 | 2013-09-11 | 凡诺尼斯系统有限公司 | 用于确定用户组对数据元素组的数据访问权限的方法及装置 |
Non-Patent Citations (2)
Title |
---|
ASP.NET MVC下基于RBAC权限认证的设计与实现;梁智、沈倩;《重庆理工大学学报(自然科学)》;20120421;正文第3节 * |
基于MVC工作流程系统的监控和组织角色管理;孙丹丹;《中国优秀硕士学位论文全文数据库 信息科技辑》;20041215;正文第43页,图4-2、4-3、4-6、4-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN105653962A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935131B (zh) | 一种基于资源权限树的SaaS资源访问控制方法 | |
US10230732B2 (en) | Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm | |
BR112020000169A2 (pt) | método para autorizar permissões de operação de valores de campo de formulário | |
CA3066856A1 (en) | Method for setting form field operation authority of workflow, and method for setting form field operation authority of approval node | |
US20200143328A1 (en) | Method for setting up approval role according to department by approval node in workflow | |
EP3547634B1 (en) | Method and apparatus for determining access permission, and terminal | |
CN110443010A (zh) | 一种在信息系统中权限可视化配置控制方法、装置、终端及存储介质 | |
CN105653962B (zh) | 一种面向对象的用户角色资源权限模型管理方法 | |
US20200143077A1 (en) | Role acquisition-based method for authorizing form data | |
CN107104931A (zh) | 一种访问控制方法及平台 | |
KR20200018665A (ko) | 기준 필드에 의거하여 승인 절차를 설정하는 방법 | |
CN104125219A (zh) | 针对电力信息系统的身份集中授权管理方法 | |
CN102932340A (zh) | 基于角色的访问控制系统及方法 | |
BR112020001402A2 (pt) | método para definir permissões do usuário na unidade de troca de informações no sistema | |
CN103198141B (zh) | 层级关系下数据记录访问控制方法和装置 | |
CN110474897A (zh) | 一种档案使用权限管理系统 | |
CN102073817A (zh) | 一种基于rbac模型的动态访问控制改进方法 | |
CN107659450A (zh) | 大数据集群资源的分配方法、分配装置及存储介质 | |
CN108268614A (zh) | 一种森林资源空间数据的分布式管理方法 | |
US20200143068A1 (en) | Method for authorizing field value of form field by means of third party field | |
WO2018205940A1 (zh) | 基于角色对用户的一对一的组织结构图生成及应用方法 | |
CN111988173A (zh) | 基于多层父子结构租户的租户管理平台和租户管理方法 | |
TW201710944A (zh) | 鑒權方法及鑒權裝置 | |
WO2019029502A1 (zh) | 系统中对授权操作者进行授权的方法 | |
US11789911B1 (en) | Scalable permissions management for granular levels of database access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |