- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
管理信息系统权限设计和C.NET实现
管理信息系统权限设计和C.NET实现
摘 要:基于角色的访问控制是一种通常用于指派用户适当角色的模型,它针对企业或组织的策略,授权用户在管理信息系统(MIS)的使用权限。本文描述用户(User)-角色(Role)-权限(Permission)在管理信息系统权限管理的要素,讲解关于基于角色的访问控制(RBAC)模型,并以C#.NET代码为实例,提出实现模型的方法。
关键词:RBAC 角色 权限 C#.NET
中图分类号:G203 文献标识码:B 文章编号:1673-8454(2009)19-0042-02
一、RBAC基本概念和模型
基于角色的访问控制(Role-Based Access Control,简称RBAC)已经成为解决管理信息系统的统一资源访问控制的有效方法,它替代了传统的自主型访问控制和强制访问控制方法。在RBAC中,权限与角色,角色与用户之间通过联结的关系,从而产生用户的权限。这极大地简化了系统的管理权限。RBAC两大特征是:减小授权管理的复杂性,降低管理开销;灵活地支持企业或组织的安全策略,并对系统的变化有很大的伸缩性。
信息系统中的用户、角色、权限及系统资源的基本概念如下:
(1)用户(User):与角色相关,用户要拥有对某种资源的权限,必须通过角色去关联。
(2)角色(Role):可以操作某些资源的权限集合。通过给用户赋予不同的角色,对成员的多职能进行表达,提供约束用户不同权限范围的依据。角色作为用户与权限的代理层,定义权限和用户的关系,所有的授权应该给予角色而不是直接给用户。
(3)权限(Permission):是指与资源相联系的权限。权限是绑定在特定的资源实例上的,比如在内容管理系统(CMS),有“文章的发布权限”,这就表明,该权限是一个发布权限,而且是针对文章这种资源的一种发布权限。权限包括系统定义权限和用户自定义权限。用户自定义权限之间可以指定排斥和包含关系(如:发布、修改、删除、管理四个权限,管理权限包含前三种权限)。
(4)资源(Resource):就是信息系统的资源,比如新闻、文档等各种可以被提供给用户访问的对象。系统资源是一个树形的结构,任何一个节点都是一个资源,一个资源节点可以与若干指定权限类别相关,可定义是否将其权限应用于子节点。
如图1所示,通过一定的约束关系及用户的角色定义、角色的权限赋值,实现用户对数据和资源的访问权限。一个用户是一个人或一个自治的代理(agent),一个角色是一项在组织中的工作功能或工作头衔。而权限是对系统中一个或多个对象(object)的特定访问模式的许可或执行某些动作的特权。如果x≥y,那么角色x就继承了角色y的权限,x的成员也意味着是y的成员。每次会话(session)把一个用户和可能的许多角色联系起来。一个用户可以有一个或多个角色,一个角色可以有许多用户。类似地,一个角色可以有多个权限,同一个权限可以被指派给多个角色。每个会话把一个用户和可能的许多角色联系起来,一个用户在激发他或她所属角色的某些子集时,建立了一个会话,用户可用的权限是当前会话激发的所有角色权限的并集。每个会话和单个用户关联,这个关联在会话的生命期间保持常数。一个用户在同一时间可以打开多个会话,每个会话可以有不同的活动角色。会话的概念相当于传统的访问控制中主体(subject)的标记。
二、RBAC模型的数据库表设计
通过对RBAC模型的分析,可以知道RBAC引入了角色的概念,使得用户和权限分离,从而减少了权限管理的复杂度,可更加灵活地支持安全策略。同时,我们引入资源(Resource)概念,可以对权限进行分门别类,一个资源可以对应多个权限。
在数据库表设计中,我们总共引入了六个表(如图2 所示E-R图)和一个视图,分别是用户表、角色表、权限表、资源表、用户-角色表、角色-权限表及用户-角色-权限视图。
(1)用户表(User):保存用户基本信息,包括用户编号(主键pkid),用户名称,用户密码,用户所在部门等其他信息。
(2)角色表(Role):保存角色编号(主键pkid),角色名称,角色说明等信息。
(3)权限表(Permission):保存权限编号(主键pkid),权限名称,权限说明,权限所在资源等信息。
(4)资源表(Resource):保存资源名称(主键pkid),资源名称等信息。
(5)用户-角色表(User_Role):保存角色编号,角色编号,这两个字段作为表的主键。
(6)角色-权限表(Role_Permission):保存角色编号,权限编号,这两个字段作为表的主键。
(7)用户-角色-权限 (View
原创力文档


文档评论(0)