




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用户权限系统设计方案钟峰2004年10月版本:1.0.0 摘要本文介绍一个应用于企业应用通用的用户权限系统的设计框架,其设计思想与主要文档来源自 SunWu Software Studio 的 iSecurityManager 产品。本指南适用于体系结构设计人员和开发人员。目录简介 用户与角色 动作定义 应用模块 授权 总结 链接资源 简介安全始终是可信赖的企业应用的基石。在企业应用中,通常需要控制用户对业务操作的权限管理与控制。稍加分析不难发现这会涉及到这三个对象:用户/角色、动作/操作、授权状态,进一步分析,我们可发现“动作/操作”通常是针对某个特定的对象,譬如 新增动作可对应于采购申请单也可对应于销售出库单等,这些动作对应的对象我们将其称之为“应用模块”。至此,用户权限系统中的基本逻辑显形:谁(用户/角色)对什么(应用模块)是否具有某项操作(动作)的授权(授权状态:授予-Grant、拒绝-Deny、继承-Revoke)。 用户与角色使用权限的基本单位,角色是具有一组相同授权的用户的交集。用户与用户之间没有互相隶属的关系,它只可以隶属于角色,角色可以隶属于另一角色,并且可具有多重隶关系。用户或角色通常具有以下属性: 编号,在系统中唯一。 名称,在系统中唯一。 用户口令(角色无此属性) 当然,在实际的商业应用中,可能还需要更多的属性来描述特定的业务需求。如在 iSecurityManager 中用户和角色的信息就有如下:图一:角色信息 图二:用户信息 有了用户和角色对象,还必须有一个描述他们之间隶属关系的对象,这样的对象我们称之为“成员关系(Member)”,通常它可能有如下属性:用户编号 角色编号 该“用户编号”和“角色编号”组合唯一约束,这里的“用户编号”可能是一个用户对象的编号,也可能是一个角色对象的编号,而“角色编号”则始终只能对应一个角色对象的编号。一个成员关系对象表示某个用户或角色隶属于另个角色。在 iSecurityManager 中可能有如下界面表示: 图三:用户/角色成员关系 在 iSecurityManager 中通过成员设置窗口来设置任何一个用户或角色(系统固定用户和角色除外)所隶属于的角色,也可以通过角色属性窗口来设置所属于当前角色的直接下级成员。 动作定义在涉及数据库操作的应用中,四个基本操作是“查看(Select)”、“删除(Delete)”、“新增(Insert)”以及“更新(Update)”。在一个企业应用中当然还会有更多其他的操作,尽管这些操作可能最终都基于这四个基本操作,也可能是其他的非数据操作,而我们始终无法在刚开始就完全固定这些可能的操作,为此,必须能让系统开发人员根据每个具体的应用模块来定义其所属的特定的动作/操作。动作/操作通常具有以下属性: 名称,在系统中唯一。 备注,描述动作/操作。 在 iSecurityManager 中“动作定义”的信息就有如下:图四:动作定义 事实上,有些动作是需要针对具体的数据实例的,譬如“查看”、“删除”和“更新”等,这种对数据实例级别的控制比针对“应用模块”级的控制要更精细。譬如,某个用户能进行对【采购申请单】的各项操作,他应该能查看他刚填写的单据并进行某些适当的修改,但是他却不应该看到其他人填写的数据。那么,这种粗粒度的权限设置显然无法控制数据级的访问,在 iSecurityManager 中,专门使用“流程控制”的方案和技术来达致更细粒度的对数据实例级的访问和控制。 应用模块应用模块通常是指对应于企业应用中的某种类型的业务单据,譬如 ERP 系统中的【采购申请单】、【销售出库单】、【客户基础资料】等,这些业务单据可能对应一或多张数据库表。如果从面向对象(Object Oriented)的视角去看,似乎可以将本文中所描述的这些概念理解成这样:“应用模块”是类,“动作/操作”则是类的方法,而“应用模块”对应的数据库表(表结构)则是类的属性,表中的这些数据/记录就是类的实例了。在定义规划系统中的“应用模块”时,通常还需要指定某个“应用模块”可能具有的“动作/操作”,而这些“动作/操作”由动作定义中进行了定义。注意:应用模块是系统中的一种逻辑组织单位。应用模块通常具有以下属性: 名称,在系统中唯一。 标题,描述动作/操作。 动作列表,表示该应用模块所可能具有的所有操作。 在 iSecurityManager 中“应用模块”的信息就有如下:图五:应用模块定义 授权顾名思义,授权是指用户/角色能对哪些应用模块中的某些操作(动作)是否具有执行的许可。这里的“是否具有执行的许可”实际上指的是授权的三种状态:授予-Grant、拒绝-Deny、继承-Revoke。授予:用户/角色对某个应用模块的某项操作具有执行的权力。 拒绝:用户/角色对某个应用模块的某项操作没有执行的权力。 继承:用户/角色对某个应用模块的某项操作是否具有执行的权力要取决于它的父角色的授权定义。 如果对某个角色授予某项权力,其下属的用户或角色是可以覆盖该项授权定义的。默认情况下,采用就近优先、拒绝优先的原则。在 iSecurityManager 中“授权设置”的信息如下所示:图六:权限设置 总结通常“应用模块”和“动作定义”是由系统开发商在系统设计、开发阶段就定义好了,在系统交付给用户使用后就不再对此更改了(当然这也不是绝对的,不是吗?)。 至此,有关用户权限的各项设置、定义都完成了,事实上,这并不会立即为你的应用系统带来任何安全保障,这只是一堆关于用户和授权定义的设置数据而已,还必须在应用系统中去应用这些设置数据并根据其定义的控制逻辑以对业务数据进行控制。如何利用这些用户授权数据来控制应用系统对业务数据的访问,有很多不同的解决方案,但是我认为建立一个中间数据存储层来统一所有客户端对数据源的存储访问是个不错的主意,并在这个数据访问层中应用安全设置来对业务数据的各种访问进行授权验证和控制,这样就可以统一各种客户端对数据存储的安全应用(事实上 iSecurityManager 也正是如此处理这个问题的)。 链接资源钟峰(Popeye Zhong)目前是 深圳恒泰丰科技公司 的.NET开发组的架构设计人员。他曾经使用 C 语言做过图形程序设计,在相当长的一段时期内从事 COM/COM+ 组件的开发和设计工作,并且短暂的做过 Lotus/Notes 和 Dialogic 语音卡程序的开发,从2003年初开始使用.NET这个充满趣味和挑战的开发平台。感兴趣的除了企业应用架构设计、组件开发、安全、图像处理外还对汽车和枪械模型有浓厚的兴趣。如果希望与他联系,可访问 /SW515 或者EMail SW51521 。 相关文章:安全之道:加密与数字签名1 企业应用:企业应用包括 工资单、患者记录、发货跟踪、成本分析、信誉评估、保险、供应链、生产管理、记帐、客户服务以及外币交易等。企
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届福建省厦门市大同中学高一化学第一学期期末检测模拟试题含解析
- 2026届黑龙江省鸡西市虎林市东方红林业局中学化学高三第一学期期末检测模拟试题含解析
- 群体安全知识培训记录课件
- 铁路安全工作领导小组及职责
- 医院感染手卫生合规监测计划
- 马克思主义原理微课件
- 4 碰撞说课稿-2025-2026学年高中物理苏教版选修3-5-苏教版2014
- 5 有小鸟的树教学设计-2025-2026学年小学美术沪教版一年级上册-沪教版
- 四年级科学上册教学计划信息化教学计划
- 山地光伏施工人员安全技术措施
- 教堂定期活动方案
- 福建省2025年中考物理真题及答案
- GB/T 2820.5-2025往复式内燃机驱动的交流发电机组第5部分:发电机组
- 呼吸机管路设计与应用
- 2025-2030年中国黑胶唱片行业市场现状供需分析及投资评估规划分析研究报告
- 马工程《教育学原理》核心框架解析
- 采石场人员管理制度
- 2025年湖北省高考物理试卷真题(含答案解析)
- 小学生无故旷课问题
- 2024年秋季云南高中学业水平合格考历史试卷真题(含答案详解)
- 中国抗癌协会神经内分泌肿瘤诊治指南(2025年版)解读
评论
0/150
提交评论