分享
 
 
 

系统对象权限管理的一个实现

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

在软件系统中,权限指的是系统用户对系统对象的执行某个操作的权限。

一、权限受哪些因素影响

图1 对象权限相关的因素

从权限的定义可以知道,权限与系统用户、系统对象有关,一般情况下系统用户不直接与权限发生关联,而是通过角色来间接关联。权限的相关因素可能有:

1. 角色授权(权限表)

例如用户A授予角色B对系统对象C的读权限。

2. 特殊角色(如管理员)对某些系统对象的类别有特殊的权限

例如系统管理员对系统中所有的对象都有全部权限。有时候不是所有的对象,而是某个类别的对象,如用户管理员对用户对象有全部权限,但对别的对象并没有什么特殊的权限。

3. 系统对象的内部状态或属性

例如文件的所有者对该文件有全部权限、文件被某个用户锁定编辑的时候仅该用户有修改的权限。

二、权限机制的实现

图2系统对象部分的类图

在系统对象部分,主要是处理与系统对象关系较为密切的权限判断,如权限表(不同的系统对象可能有不同的权限表,所以放在这里处理比放在角色部分好),还有一些与系统内部状态或属性相关的权限检查(因为不同的系统对象与权限相关的内部状态和属性都可能不一样,所以应该在这里处理。如果是比较通用的权限检查,例如检查系统对象与角色的Owner关系,则可以作为一个外部PermissionCheck类;如果是专用的或者是对系统不公开的内部状态或属性的权限检查,可以考虑作为内部类)。这里的PermissionCheck是采用策略模式来处理权限问题,这里的权限机制没有强制要求一定要采用该模式,系统对象完全可以不依赖任何PermissionCheck来处理权限。使用PermissionCheck的好处是简化系统对象,还可以实现一些通用的PermissionCheck以达到重用的目的,PermissionTable也是PermissionCheck的一个实现,基本上可以在所有系统对象中使用。

图3 角色部分的类图

角色部分的权限机制是基于以下几点:一是对系统对象的权限分配是基于角色的;二是每个系统用户都对应一个相应的专有的角色(这种角色可以不参与授权,但在权限检查时代表该用户,以便系统对象判断自身与该系统用户的关系)。系统用户在这里的主要职责是找到自己属于哪些角色,并请求这些角色判断对系统对象的权限,并将这些权限组合。由于企业组织结构图的复杂性和易变性,将这个组合角色权限的职责放在角色部分比放在系统对象部分要好一些,一旦企业组织结构图发生变化,不会影响到系统对象部分(另外有的系统对用户分类为只读和正常两类,组合权限也必须考虑这个,也是放在系统用户里处理比较合理)。每个角色除了要请求系统对象判断权限外,还要处理与角色相关的特殊权限,例如系统管理员角色、文档管理员角色等。

图4显示了一个检查系统用户user对系统对象systemObject是否有权限类型为permissionType的权限的协作图。

图4 检查权限的协作图

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有