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

原创 2002年10月10日 18:00:00

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

一、权限受哪些因素影响

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

1 对象权限相关的因素

 

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

1.         角色授权(权限表)

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

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

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

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

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

 

二、权限机制的实现

2系统对象部分的类图

 

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

3 角色部分的类图

 

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

 

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

4 检查权限的协作图

 

Web应用——驾培管理系统之系统—权限分配(作者:小圣)

Web应用——驾培管理系统之系统—权限分配(作者:小圣) 本节博文将向大家介绍本次Web应用之权限分配。 笔者会把大概实现过程贴出来,有看不懂过程且需要项目源码的请戳:http://download....
  • xie_xiansheng
  • xie_xiansheng
  • 2016年04月13日 10:27
  • 5366

权限管理及实现思路

一个系统包含众多模块,要求能够通过权限管理,控制不同用户对模块的访问权限,而且需要控制到对某个模块的某个操作(增删改查)的级别。一般情况下,通过角色对用户进行统一授权,在某些特殊情况下,能够单独对用户...
  • liusong0605
  • liusong0605
  • 2013年02月28日 21:25
  • 11832

应用及系统权限管理实现-基于源码android 7.1.1.r13

应用及系统权限管理实现-基于源码android 7.1.1.r13 一、   Android权限管理的相关服务及架构 1.       权限管理涉及的服务包括activity: permissio...
  • wuawua1
  • wuawua1
  • 2017年12月11日 17:22
  • 191

Web权限管理系统

权限管理系统: Who:权限的拥用者或主体(Principal(负责人)、User、Group、Role、Actor等等) What:权限针对的对象或资源(Resource、Class)。 How:...
  • fenglixiong123
  • fenglixiong123
  • 2017年05月11日 20:32
  • 851

权限Demo

目的 现在我有一个管理商品、订单的页面。当用户点击某个超链接时,过滤器会检测该用户是否有权限! 需求分析 按照面向对象的思想,我们至少应该有权限(Privilege)和用...
  • qq_36503884
  • qq_36503884
  • 2017年05月25日 15:11
  • 539

Java用户权限管理

实现业务系统中的用户权限管理     B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检 测实 现,而B/S...
  • qq_23217629
  • qq_23217629
  • 2016年12月06日 16:05
  • 5103

OA系统 权限管理的设计流程

权限 在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与...
  • u013630349
  • u013630349
  • 2016年06月22日 14:04
  • 2077

OA之权限管理需求总结

这段时间进行OA的权限管理的学习,由于视频质量的问题,所以很多的地方不是很清楚,这篇文章特别进行一下需求的总结。 第一步首先是用例图,一般在权限管理里面最少有一个角色(高级管理员),一般常见的就是两...
  • qiulongtianshi
  • qiulongtianshi
  • 2013年02月17日 20:15
  • 4627

权限管理 (一) 设计思路分析和实现授权、认证

权限的认识 说起对权限的理解可以说是从肤浅到了解,现在也只是处在了解的水平,先来看这样一个通俗且真实的故事:我们都知道在有体制的公司或者机关单位,给人的体制化特别突出,通俗的说就是官大一级压死人,上...
  • lilongsheng1125
  • lilongsheng1125
  • 2013年11月24日 13:50
  • 4575

权限管理系统数据库设计的简单构思

最近在工作中接触到权限管理的设计,于是,自己在网上查阅了部分资料,再加上自己的一些思考,构思了一个简单的权限管理系统的数据库设计。RABC与Tag说到权限管理,一般都会想到基于角色的访问控制(Role...
  • Chen_Victor
  • Chen_Victor
  • 2017年02月25日 22:32
  • 2042
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:系统对象权限管理的一个实现
举报原因:
原因补充:

(最多只允许输入30个字)