`
EricShaw
  • 浏览: 29835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

组织结构与权限模型设计(二)

阅读更多

前言

上篇文章组织结构与权限模型设计(一)中,介绍了权限模型的第一种实现方案,即用户与角色关联、角色与权限关联,职位作为用户的一个标签显示,不涉及权限。这种方案存在一个问题,通常我们说的权限,其实是包含两个维度:操作功能和数据范围。比如学校班级的班长有检查同学作业、布置任务的权利,这是说他能操作的功能;另外,班长只对本班级的学生有布置任务的权利,这里是对数据范围的限制。

 

方案二

基于上面的分析,可以认为权限是由操作功能和数据范围两个维度组成的,角色定义用户的操作功能,职位定义数据范围。在一个企业里面,不同部门的部门经理虽然职位是一样的(都是部门经理),但是他们所能做的事是不一样的:开发部的经理管项目开发事项、财务部的经理管理财务收支,映射到系统中,就是说他们的操作功能不一样。

相对第一种方案,模型没有发生变化,唯一改变的是对权限和职位的定义不一样了。

对于职位:在方案一中,职位只是作为一个标签显示,不带任何的语义,但是在方案二中我们需要用职位去管数据范围。要知道程序并不知道部门经理能够管理部门成员,对它来说这只是两个不同的字符串而已。有人可能会提出,程序加个if..else判断不就得了,但是要知道企业里面职位是五花八门的,有的公司可能叫部门经理为主任。为了应对这种可变性,我们需要对职位增加一个语义,告诉程序哪个职位是管理者,哪个职位只是普通成员。我们暂且叫这个语义为power,它有两个选择:Manager或Member。将这个语义属性附加到职位上,Manager是具有管理权限的人员,它能够管理本领域内的事项(领域的概念在上一篇中已介绍过)。

 

对于权限:在方案一中,没有将权限细分为操作功能和数据范围两个维度,权限既管操作功能也管数据范围。在方案二中,权限只定义操作功能,数据范围由职位决定。

 

打个比方,对于查看工作日志这个功能。

 

按方案二实现的话,系统中会有一个权限项,叫查看工作日志(操作功能),至于查看谁的工作日志(数据范围),则依据成员的职位,如果他是部门经理,则能查看整个部门的工作日志,如果他是普通成员,则只能查看自己的工作日志。将权限项赋给一个角色,再将这个角色和职位赋给用户,用户就具备了相关的权限。

 

按方案一实现的话,系统需要两个单独的权限项,叫查看部门成员工作日志查看自己的工作日志。这两个权限项既定义了操作功能(查看日志),又定义了数据范围(看谁的日志)。将权限项赋给一个角色,再将这个角色赋给用户,用户就具备了相关的操作权限。

 

其实两者的区别就在于方案一把二维拉平成了一维,假设操作功能用F表示,数据范围用D表示,那么方案一中的权限项会有F * D种。

 

总结

方案二的优点是:将操作功能和数据范围分为两个维度管理,分别用角色权限和职位管理,清晰易扩展。它的缺点就是,对用户来说有点繁琐,需要在两个地方(角色、职位)定义。

0
0
分享到:
评论

相关推荐

    基于_NET动态用户权限管理模型的设计与实现(细化到按钮)

    随着企业管理信息系统规模的不断扩大,信息系统的权限管理成为一个日益突出的问题。文中针对现有信息系统 ...业对信息系统权限管理的要求,而且能随组织结构或安全需求的变化而变化,具有很好的灵活性和可操作性。

    论文研究-基于角色扩展的RBAC模型.pdf

    针对基于角色的访问控制(RBAC)模型在模拟复杂组织结构和权限继承关系方面的不足,提出了基于角色扩展的RBAC模型——MR-RBAC。该模型在角色集和权限集之间引入了最小角色集,并形式化定义了模型的基本集合和相关...

    论文研究-WARBAC:改进的角色访问控制管理模型.pdf

    HH模型的框架结构为主体的改进模型——WARBAC模型,该模型利用ARBAC02模型中的组织结构的思想对角色、权限分配管理策略进行了重新定义和设计,分析表明WARBAC模型既具有角色层次管理的简单性,又实现了较为复杂的...

    中国电信计费模型:数据模型

    2.1 数据模型设计的业务驱动力 14 2.1.1 现有数据模型的缺陷 14 2.1.2 业务发展对数据模型提出的要求 14 2.1.3 建立新的计费数据模型的意义和主要思路 17 2.2 数据模型方法论概述 19 2.3 新一代计费数据模型的特点 ...

    商业银行信贷管理系统的数据库设计要点(1).doc

    组织机构、人员与权限 组织机构、人员与权限系统被设计成一个独立的子系统,直接对应应用程序的机构人 员管理和权限管理认证模块,实际上在数据库中该部分数据也只是提供机构ID、人员ID的 外键关联或引用,见图1。...

    煤矿井下坑道钻机产品数据管理模型与系统

    建立了钻机产品数据管理的各项功能模型,包括项目管理、文档管理、流程管理、BOM管理、零部件管理、组织权限管理和系统集成;给出钻机产品数据管理系统的总体结构、系统组成和拓扑构型,并采用Team Center Express软件...

    政务平台数据库设计.doc

    " 数据E-R图 总图 用户组织机构 图4-78用户组织机构 用户角色权限 图4-79用户角色权限 业务模型树 图4-80业务模型树 业务数据 图4-81业务数据 工作流流转 图4-82工作流流转 物理设计 设计数据库的物理结构,根据...

    admidio:Admidio是针对组织和团体网站的免费开源用户管理系统。 该系统具有灵活的角色模型,因此可以反映组织的结构和权限-Source website php

    创建反映您组织结构的角色和组 使用您自己的个人资料字段自定义用户个人资料 使您的成员彼此联系(例如,配偶,母亲-儿子) 创建您的角色的个人成员资格列表 在线发布您的所有活动,并让成员参与 创建相册并让用户...

    图书管理系统 MYSQL 课程设计

    5.4用户与权限 28 6.结论 28 参考文献 29 图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,本次设计任务是...

    ERP系统数据库设计.doc

    3 逻辑结构设计阶段 逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理 系统(DBMS)支持的数据模型。数据模型可以由实体联系模型转换而来。 3.1 将E—R模型转换为关系数据模型的规则 (1)每...

    计算机软件毕业设计BS的计算机等级考试系统的设计与实现-计算机毕业设计源码-计算机毕业设计源代码.rar

    随着计算机技术的发展及计算机的日益普及,基于B/S结构的考试系统与无纸化办公一样已成为大势所趋。论文详细论述了一个基于B/S结构的计算机等级考试系统的设计过程。软件采用ASP.NET 2005作开发平台,C#作编程语言,...

    城市综合应急系统设计方案

    第二部分 系统需求分析和应急模型 9 1. 各子联动指挥中心Sub ERC的现状 9 1.1 110子联动指挥中心Sub ERC 9 1.2 119消防子联动指挥中心Sub ERC 9 1.3 122交通子联动指挥中心Sub ERC 10 1.4 120急救子联动指挥中心Sub ...

    试论基于ASP. NET的教学服务门户系统设计与开发

     【论文摘要】介绍了全国机械原理与机械设计教学门户网站建设的意义,给出了其服务功能与组织模型。分析了门户系统的三层体系结构,介绍了系统的主要开发技术。给出了系统实现的部分关键要点,包括教学资源信息库...

    java在线考试系统课程设计-.doc

    2 名词解释 使用权限:在线考试系统一共有3种用户类型,第一是管理员,权限最高,可以进行 系统管理,第二种是老师,可以进行组卷,上传题目,批卷,统计等操作。第三种是学 生,只能进行考试和查看本人成绩。 组卷...

    依据asp.net基于BS的计算机等级考试系统的设计与实现(毕业设计源代码+论文)

    随着计算机技术的发展及计算机的日益普及,基于B/S结构的考试系统与无纸化办公一样已成为大势所趋。论文详细论述了一个基于B/S结构的计算机等级考试系统的设计过程。软件采用ASP.NET 2005作开发平台,C#作编程语言,...

    ASP.NET教务管理平台-权限及公共模块设计与开发(源代码+thesis).zip

    ASP.NET MVC是一种成熟的开发框架,它采用模型-视图-控制器的设计模式,将应用程序的逻辑和界面分离,提供了更好的代码组织和可维护性。我们选择ASP.NET MVC框架是因为它具有良好的可扩展性和灵活性,可以轻松地添加...

    学生管理系统数据库设计.pdf

    需求分析的⽅法,常⽤SA(Structured Analysis) 结构化分析⽅法,SA⽅法从最上层的系统组织结构⼊⼿,采⽤⾃顶向下,逐层分解的⽅ 式分析系统。 数据流图表达了数据和处理过程的关系,在SA⽅法中,处理过程的处理...

    软件生产平台

    E、支持工作流程的权限设置 F、支持角色的权限设置 9、业务模型运行器 业务模型运行器是前面设计好的业务模型的运行器 集中处理业务模型定义好的所有的操作、行为、控制以及与业务数据、业务表单、...

Global site tag (gtag.js) - Google Analytics