text: 基于岗位抽象的角色权限控制模型设计与实现
  详细地阐述了实现新模型的关键技术，给出了新模型的总体结构图和总体类图，并对总体类图中的各个类及其关系进行了详细的说明。
  最后，总结了新模型的实用性及其推广应用价值。
  关键词:RBAC;岗位;岗位互斥;定岗;授权 传统访问控制技术及其局限性访问控制实质上是对资源使用的限制，决定主体是否被授权客体 或资源执行某种操作,是保障系统安全不可或缺的重要组成部分。
  目前，主要有3 种不同类型的访问控制:自主访问控制(DAC)、强制 访问控制(MAC)和基于角色的访问控制(RBAC)。
  自主访问控制(DAC)是目前计算机系统中实现最多的访问控制机制，如Windows 操作系统。
  强制访问控制(MAC)是强加给访问主体的，即系统强制主体服从既定的访问控制策略，主要应用于军事方面。
  基于角色的访问控制(RBAC)引入了角色的概念，在授权主体和客体之间增加的角色这个中间层，实现了主客体的逻辑分离，具有一定的通用性。
  但RBAC 在实际的应用中仍然存在一些问题，如: 角色的继承机制有缺陷，会造成某些角色的权限过大;权限定义较模糊、笼统，不够清晰;无法满足"同角色不同人员不同权限"的需求。
  基于上述原因，本文提出一种扩展的RBAC 新模型，引入了"岗位"概念，有效地弥补了传统RBAC 的不足。
  其基本思想是:机构与角色结合形成岗位，模块与操作结合形成权限，先将权限赋给岗位(授权)，再将人员指派 到岗位(定岗)，实现对系统资源的细粒度访问控制。
  如图1 所示: 基于岗位抽象的角色控制模型 权限模型总体结构 新模型中包含的主要关系: 用户定岗:为用户指派岗位，受岗位基数约束，当岗位基数大 时是用户与岗位之间是多对多的关系。
  岗位授权:将权限赋给岗位，岗位和权限之间是多对多的关系。
  新模型中定义的约束:岗位互斥关系(Mutually Exclusive Posts): 用于指定两个岗位具有不同的职责，不能让同一个用户同时拥有。
  岗位基数限制(Post Cardinality Constraints):用于指定一个岗位 可被同时授权的数目。
  比如一个学校的校长只能由一个用户担任，那么这个学校校长岗位的岗位基数就为1。
  2.2 模型优点 基于岗位抽象的角色权限控制模型以"人员定岗"、"岗位授权"为核心，权限访问控制整个过程逻辑清晰、步骤简单。
  主要优点如下: 引入了"岗位"概念，模拟现实中的岗位机制，易于理解，便于操作;权限定义为模块与操作的二元组，不仅实现了页面级别的访问 控制，而且实现了功能(按钮)级别的访问控制，即能将访问权限限制到某个用户对某个模块的某个具体操作;机构与角色结合形成岗位，通过岗位授权、人员定岗控制访问权限，有效地解决了 RBAC 中"同角色不同人员不同权限"这一问题，遵循了最小特权原则。
  基于岗位抽象的角色权限控制模型实现3.1 实现模型的关键技术 3.1.1 ASP.NET ASP.NET 是一种将各种 Web 元素组合在一起的服务器技术， 是一个统一的Web 开发平台，用来提供开发人员生成企业级 Web 用程序所需的服务。
  ASP.NET完全基于模块与组件，是一种建立在 公共语言运行时 CRL 基础之上的程序开发架构，具有很好的可扩展 性与可定制性。
  开发人员可以方便利用其托管的公共语言运行库环境、类型安全、继承等，有效缩短Web 应用程序的开发周期。
  3.1.2 Ajax Ajax 全称为"Asynchronous JavaScript XML"(异步 JavaScript 和XML)，结合了XML、JavaScript 等编程技术，是一种创建交互式网页应用的网页开发技术。
  Ajax 以一种崭新的方式来使用 所有的这些技术，实现异步交互无刷新，使得基于 模式的传统Web 开发焕发了新的活力，大大改善了用户体验。
  3.2 模型总体结构图 为了使基于岗位抽象的角色权限模型更加清晰、更易操作和管理，特将其分为基础数据管理和权限管理两大部分，总体结构图如图 所示。
  3.3 模型总体类图及说明 基于岗位抽象的角色权限模型总体类图Department:机构，使用系统的组织机构，Department 具有树 形层次关系。
  Role:角色，表示用户在一个机构中担任的职务。
  例如:学校 机构中，校长、教师、学生都是角色。
  例如:海南师范大学校长、计算机科学与教育技术系主任 都是岗位。
  一个岗位可以有一个或多个 Person，一个 Person 可以指派到一个或多个岗位上。
  OpposePost:互斥岗位，不能同时指派给某一个用户的两个岗位 为互斥岗位。
  例如在银行系统中，一个用户不能同时为出纳员和审计 UserGroup:表示User 的组织关系，UserGroup 是具有树形层次关系的。
  一个Person 可以属于多个UserGroup，一个UserGroup 以包含多个用户。
  Resource:功能模块，系统中的功能页面。
  通常是在系统设计 阶段就定义好的，客户不可以自行修改的。
  Operate:操作，可简单理解为数据的增、删、改、查等操作， 一个Operate 本身没有任何意义，只有与Resource 结合起来才有意义。
  结束语基于 模式的管理信息系统面临着日益复杂的数据资源安全管理难题，基于岗位抽象的角色权限控制模型引入了岗位概念，实现了用户与访问权限的逻辑分离和构造角色之间的层次关系，达到了 细粒度的权限控制。
  该权限控制模型已经成功地应用于管理信息系统 的设计和开发实践中，集成性良好。
  实践表明，该权限控制模型具有权限分配直观、容易理解、便于使用、扩展性好、支持岗位管理、权限多变等优点，具有很强的实用性和可重用性。
  参考文献: 普继光.基于角色的访问控制系统的设计和应用.成都:电子科技大学，2004. 王电化.基于角色访问控制的研究.天津:天津工业大学，2005. 胡勇辉，曹倬瑝，兰湘涛,等.ASP.NET开发实战详解. 2006. 克拉恩，帕斯卡雷洛，杰姆斯.Ajax实战.北 2006. 盛蕾，方华.基于ASP.NET的四层Web 应用模型设计与实现.计算机与数字工程,2006(7). 刘萍.基于角色的访问控制(RBAC)及应用研究.成都:电子科技大学，2004.