欢迎来到天天文库
浏览记录
ID:61398205
大小:68.19 KB
页数:7页
时间:2021-01-26
《Net平台下基于角色的访问控制系统的设计与实现.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Net平台下基于角色的访问控制系统的设计与实现摘要应用Windows系统.NetFramework开发平台,采用自定义属性、类型及反射等技术,通过对不同应用系统的资源ID生成、访问方式,以及资源树访问接口的定义,给出一套简洁、实用的基于角色的用户权限管理系统的通用平台设计方案。关键词权限管理;角色;反射;自定义属性计算机技术安全管理的范围很广,可以包括网络安全性、数据安全性、操作系统安全性以及应用程序安全性等。对一个多用户商用应用系统而言,系统的安全访问控制是必须的,系统不仅要满足功能性需求,还要满足安全性需求。系统的安
2、全访问控制一般是通过用户认证和用户权限管理来实现。权限管理可简单表述为:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。各类应用系统的整个体系结构上要设计一个安全可靠、配置灵活、易扩展的安全控制模块,它主要有两部分内容:用户认证和用户权限管理。目前大致有三种安全模型:访问矩阵、基于角色的访问控制(RBAC-Rolebasedaccesscontrol)模型和多级模型。其中基于角色的访问控制模型得到了日益广泛的应用。1基于角色的用户权限管理系统(RBAC)基本理论[1][2]RBAC是目前公认的
3、解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:一是减小授权管理的复杂性,降低管理开销;二是灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。资源是应用系统中被管理、控制的对象,资源是权限管理的最小单位,资源的抽象要结合实际的需要确定粒度大小。权限是对具体资源的访问许可。权限和资源密不可分,在这里,权限可以用一个二元组来表示(R,A),其中,R表示资源,A表示访问方式。角色是指一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。用户就是一个可以独立访问应用系统中的资源的主体。用户在一般情况下是
4、指应用系的使用者。RBAC中只对角色分配资源的访问权限,从另一个角度说,角色是权限的某种组合。用户可以具有一个或多个角色,但不能直接对用户分配权限。角色的权限相对稳定,而用户容易变化,RBAC通过角色实现用户与权限的分离,增加了权限分配和管理的方便性和灵活性。以上是RBAC的基本概念,下面结合Windows.NetFramework平台,给出一套简洁、实用的RBAC权限管理系统的设计方案。2.NetFramework新特性的应用[2]2.1类型(Type)信息Type位于.Type实际上是一个抽象基类,它有与每一种数据类
5、型相对应的派生类。通过运行时获取Type派生类的实例,可能获取相应数据类型的所有信息。2.2自定义属性(Attribute)传统编程语言如C++,都提供了关键字(如public、private等)。这些关键字提供有关类成员的附加信息,还通过描述类成员对其他类的可访问性来进一步定义类成员的行为。由于编译器被显式设计为识别预定义关键字,编程者无法创建自己的关键字。但在.NetFramework中,公共语言运行库CLR(CommonLanguageLibrary)允许编程者添加类似关键字的描述性声明(称为属性)来批注编程元素,
6、如类型、字段、方法和属性等。编程者可以声明从System.Attribute派生的自定义属性类,用来存储特定的描述信息。3通用RBAC权限管理系统的设计各个通常的应用软件系统中,除了需进行安全访问控制的资源各不相同外,其它如用户及角色的管理,角色的权限分配等基本相同,如果能对不同应用系统的资源抽象出相同的描述和访问接口,自然就能实现一套通用的权限管理系统。3.1设计目标与主要功能系统的基本设计目标是,通过统一定义的应用系统资源树接口定义,实现应用系统无关的通用RBAC管理系统,如图1所示,应用系统通过统一定义的资源及其访
7、问方式接口与权限管理系统平台进行交互。本系统主要有以下功能:用户管理:用户的编辑、角色分配及用户认证等;角色管理:角色的编辑、权限分配等;资源及权限管理:应用系统资源及访问方式以及权限的定义等;安全访问控制:判别登录用户是否具备对特定资源的访问权限。图1权限管理平台体系结构3.2应用系统的资源资源是对应用系统中要进行安全访问控制的对象的抽象。依据应用对象类别的不同,资源也相应分为不同的资源类。3.2.1资源的唯一标示本系统设计采用64位的资源ID(ResourceID)来唯一标示系统的一个资源对象。应用系统需自定义一套完
8、整的资源ID编码规则,对要安全访问控制的每一个对象,根据编码规则可得出一个资源ID。资源ID推荐采用分层设计,如可分为三个层次:应用模块ID-对象类别ID-对象ID。由于可由应用系统对象得到相应的资源ID,本系统的数据库中不再需要单独建立资源与应用系统对象的映射表,这是本系统设计的一个创新之处。3.2.2资源的访问方
此文档下载收益归作者所有