Net平台下基于角色的访问控制系统的设计与实现_第1页
Net平台下基于角色的访问控制系统的设计与实现_第2页
Net平台下基于角色的访问控制系统的设计与实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Net平台下基于角色的访问控制系统的设计与实现

摘要应用Windows系统.NetFramework开发平台,采用自定义属性、类型及反射等技术,通过对不同应用系统的资源ID生成、访问方式,以及资源树访问接口的定义,给出一套简洁、实用的基于角色的用户权限管理系统的通用平台设计方案。关键词权限管理;角色;反射;自定义属性由于资源访问方式枚举量的定义各不相同,如何以统一的接口方式获取不同资源的访问方式是本平台设计的一个难点。这里采用属性AccessType统一返回资源访问方式枚举量的类型(Type)对象。通过下列代码可以得到访问方式枚举量的所有信息(C#):Typet=resourceNode.AccessModeType;FieldInfo[]fs=t.GetFields(BindingFlags.DeclaredOnly|BindingFlags.Static|BindingFlags.Public);int[]enumVals=newint[fs.Length];string[]enumNames=newstring[fs.Length];inti=0;foreach(FieldInfofinfs){enumVals[i]=f.GetValue(null);DisNameAttribute[]ds=f.GetCustomAttribute(typeof(DisNameAttribute),false);If(ds.Length!=0)enumNames[I]=ds[0].Name;}上述代码中,enumVals数组中存储了所有访问方式的枚举值,enumNames数据组中存储了各个访问方式的显示用名称。权限是指用户对具体资源的访问许可,权限和资源密不可分。这里权限用一个二元组来表示:Permission(Resource,AccessMode)其中Resource表示一个具体资源,AccessMode是用户对此资源的所授权的访问方式。需注意的是,由于AccessMode设计成可按位组合,所以此二元组表示了用户对一个资源的所有访问权限。角色可由系统管理员或授权用户灵活定制。角色具有唯一且不重用的ID。角色之间采用组合关系,一个角色可以包含其它多个角色,一个角色的权限是它本身及其所包含的其它角色所拥有的权限的集合。Role_Table角色的所有相关信息均记录到数据库中的角色表Role_Table。权限分配是指为角色配置某种权限。可以用三元组(Role,Resource,AccessMode)表示,即Role角色对Resource资源可以进行AccessMode的操作。RolePermission_Table角色的所有授权信息均存储到角色权限关联表RolePerssion_Table。用户可由系统管理员或授权用户灵活增删。用户具有唯一且不重用的ID。各个用户相互独立,不存在继承或组合关系。User_Table用户的所有相关信息均记录到数据库中的用户表User_Table。角色委派是指为用户分配若干种角色。可以用二元组(User,Role)表示,含义是User用户属于角色Role。一个用户可以属于多个角色。UserRole_Table用户与角色的所有关联信息均记录到数据库的用户角色关联表UserRole_Table。使用应用系统的用户首先要进行用户登录,登录成功后,结合UserRole_Table及RolePerssion_Table查询当前用户对所有资源的访问权限,根据返回结果在动态生成此用户对资源的所有权限表:UserPermission_Table其中AccessMode的值是用户所属的多个角色对某一资源的所有访问方式的组合。当用户要对一个需安全访问控制的对象操作时,首先根据应用系统自定义的资源ID编码规则及访问对象的相关信息生成ResourceID,和应用系统定义的对此对象进行操作所需的访问权限accessMode,再查找UserPermission_Table表,判别当前用户是否具有相应的操作权限。本文结合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论