论文导读:针对目前用户权限访问控制存在的不足,我们提出了改进方法:把岗位按树型结构分层分支,根据树型结构的节点表达式确定用户权限。但是这个组织的人员变动就是不可预期的,所以用户权限树型结构的设置是不依赖于人的变动,本文提出的设计思路是依据组织的岗位设置。
关键词:用户权限,树型结构,设计
1 概述
在WEB办公系统中,传统的访问控制以用户为基本对象授予权限,或者以系统功能为中心授予用户,这使得大型复杂系统的授权管理非常繁杂,并且容易出错。Sandhu等提出了基于角色的访问控制参考模型[1],通过引入角色概念实现了用户与权限的逻辑分离,极大地方便了权限的管理。但是,在目前大多数的基于该模型的实际应用中,我们发现其存在不足之处:①权限表示缺乏灵活性。基于Sandhu等提出角色访问控制模型,这些系统往往是根据实际角色访问控制要求,把用户对数据部分的访问权限直接用数据库中的某些业务数据来表示。在授权时预先把这些数据手工从相关业务表抽取出来,以静态形式存贮于权限表中,查权时再通过查表方法来确定用户所拥有的权限;②授权是静态的。一旦指派了角色的权限就将无条件一直拥有,没有考虑当前应用环境因素对权限的制约,无法对权限动态地进行回收或限制。
针对目前用户权限访问控制存在的不足,我们提出了改进方法:把岗位按树型结构分层分支,根据树型结构的节点表达式确定用户权限。这样改进有以下几点好处:①避免了根据系统功能授权的复杂性。现在只需根据用户权限使用相应系统即可,如果需要多用户使用相同功能,只需使用上层节点限制即可;②根据有序树的结构特点可以由系统自动确定用户权限;③系统不会因为人员变动而引起系统混乱;④适合机关事业单位和企业实际,用户权限级别可以和行政级别挂钩。
2 用户权限树型结构改进依据
2.1 人员角色关系(如图)
不管一个组织有多庞大,或一个应用系统有多复杂,在这个组织或系统中起主导作用的仍然是人。人在一个组织中一定有个部门,在部门中要有一个合适的岗位,这样才能发挥其作用。只不过如何设置部门,有哪些岗位,安排什么样的人工作,这要根据组织的实际情况来定。科技论文。
2.2 树型结构
树(如右图)是由一个或多个结点组成的有限集合。树结构的特点是:它的每一个结点都可以有不止一个直接后继,除根结点外的所有结点都有且只有一个直接前趋。必有一个特定的称为根(ROOT)的结点;剩下的结点被分成n>=0个互不相交的集合T1、T2、......Tn,而且, 这些集合的每一个又都是树。树T1、T2、......Tn被称作根的子树(Subtree)。树的常用的方法是用括号:先将根结点放入一对圆括号中,然后把它的子树由左至右的顺序放入括号中,而对子树也采用同样的方法处理;同层子树与它的根结点用圆括号括起来,同层子树之间用逗号隔开,最后用闭括号括起来。如上图可写成如下形式:
(A(B(E(K,L),F),C(G),D(H(M),I,J)))
2.3 岗位的层次结构
不管是行政事业单位,还是企业单位,设置相应的岗位都是非常重要的,一个岗位都有一定的职责。至于具体如何设置岗位和层次主要根据各单位或系统的具体情况,一个大型企业的岗位设置和层次管理大致如图所示。
3 用户权限树型结构的应用
3.1 系统分析与实现
一个组织一旦建立,则这个组织的部门也就跟着建立起来了,同时也就设立了该组织的各种岗位,如果有什么变动也是很小的。但是这个组织的人员变动就是不可预期的,所以用户权限树型结构的设置是不依赖于人的变动,本文提出的设计思路是依据组织的岗位设置。科技论文。
具体实现方式是:首先确定岗位,然后根据岗位分层次,每一层岗位用数字表示,比如第三层就用3开头表示,后面的序号,表示本层应有的岗位数,如果超过10个就用两位数表示,并且上层岗位负责对下岗位的监督考核和管理;在每个岗位的人数可以根据岗位职责的实际情况确定,如果一个岗位就一个人,则他的编号就是1,如果这个岗位不止一个人负责,就根据岗位人数排序编号即可。
3.2 应用结果比较
基于传统方法的应用系统中为了实现某种权限,常把代表用户权限的业务数据从相应业务表中抽取出来静态地存贮于权限表中,使用时通过查表方法实现查权操作。该种方法最大的缺陷在于系统功能与用户权限的复杂对应,并可能造成系统功能运行性能下降。
基于Sandhu等提出角色访问控制模型中必须要列出,用户表、角色表,其中角色表就要一一对应角色权限,在实际应用中再实现用户-角色对应关系。该种方法的最大缺陷在于只要角色相同,则权限相同,不能唯一确定用户权限。
基于岗位层次的用户权限管理,主要依据岗位层次和人员数量设置权限。该种方法主要优点有三:一是符合组织结构需求和层次管理;二是用户权限与用户本身没有直接关系,这样就解决了组织进出人员与系统正常运行和数据完整性的关系;三是能够唯一确定用户的权限。
4. 结束语
目前,该户权限管理树型结构确定方法在某市国家税务局人事绩效考核OA系统实际项目中已经得到了应用,并且获得了较好的效果。科技论文。它通过对岗位层次,岗位数量和人数的设置,使得权限的表示更加专一和灵活,避免了以人为中心的权限控制管理方式,并且更能够接近实际应用系统权限管理的要求。在实现过程中,可运用面向对象技术进一步把对数据库的访问与应用逻辑封装成对象类,更加简化了权限管理。由于岗位数量以及人数的不确定性,或同一岗位人数过多,造成用于排位的数据位数过多,可能对系统运行的速度有一定的影响。
【参考文献】
[1] Sandhu R,Ferraiolo D,Kuhn R.The NIST model for role.basedaccess control:Towards a unifiedstandard[C].New York:Pro.ceedings of 5th ACM workshopon role based access control,ACM Press,2000.47―64.
|