论文部分内容阅读
目前,实际应用的各种用户认证和授权管理系统普遍存在着业务逻辑与权限管理相耦合、缺乏动态访问控制能力以及管理不方便等问题。针对这些问题,本文研究了如何把基于角色的访问控制模型和面向方面技术相结合来改进权限控制。
基于角色的访问控制(RBAC)是传统的自主访问控制和强制访问控制的替代方案。在RBAC中,权限与角色相联系,用户被赋予合适的角色从而取得相应权限,从而大大简化了权限管理。
但是传统的基于角色的访问控制模型却缺乏动态的访问控制能力,不能对拥有特定角色的用户和对象实例进行细粒度控制。为了弥补以上缺陷,本文提出了一个包含团队、任务的访问控制模型(TT—RBAC)。
在TT—RBAC中,团队包含拥有特殊角色的用户集和拥有完成特定任务的对象的角色集。团队任务决定指派给团队的最大权限,团队角色决定团队可执行的最大权限,团队成员决定谁可以激活成员自身的角色和执行团队任务。团队成员可以执行由它可以激活的角色所决定的任务。所以,团队定义了一个小而特殊的RBAC应用区域,在这个区域中,既了保持RBAC模型可扩展安全管理的优势,还可以灵活的激活个人用户的权限和使用特殊对象实例。TT—RBAC模型克服了传统RBAC模型的一些缺点,实现了对拥有特定角色的用户和对象实例进行细粒度控制。
面向方面的程序设计(AOP)用于分离系统中横切多个组件的行为,并把这些行为抽取出来单独实现。通过这种方式,不需要组件主动校验当前用户的权限,校验功能在需要的时候被自动触发。这样可以方便的把权限校验功能分散到系统的各个功能组件里面,提高系统的安全性。
将AOP应用到用户认证和授权管理系统的开发中来,可以实现应用系统的业务逻辑与横切安全逻辑之间的解耦,有效地减少应用系统开发人员的关注点,并提高开发效率。
本文以扩展RBAC模型为基础,采用MVC(Model—View—Controller)设计模式,结合AOP技术,设计了一个通用、安全的应用框架,并基于此框架对权限功能模块与访问控制进行了研究设计。