rbac的权限模块在.netmvc中设计与实现(源码)【字数:9371】
摘 要信息管理系统是一个复杂的人机交互的系统,其中的每个具体环节都可能受到安全威胁,保证信息系统的安全性是非常重要的。权限管理系统是信息系统中代码重用性较高的模块之一,任何多用户的系统都不可避免地涉及到相同的权限需求。但是,由于权限管理实现的复杂性,设计一个好的权限管理系统并不容易。同时,由于不同系统之间资源的差异性大,为一个系统设计的权限管理系统往往不能在其他系统中通用,而需要重新专门设计,浪费人力物力,因此一个良好的通用权限管理系统对Web应用系统的设计与实现具有重要意义和应用价值。权限管理系统采用基于角色的访问控制RBAC(Role-Based Access Control)模型,通过角色来控制访问权限,不同角色拥有的操作和资源不同。角色与用户关联,一个用户可担任多个角色,即可拥有多个角色的操作和资源。本论文基于ASP.NET MVC框架,采用RBAC权限模块,通过对项目系统的具体分析,以角色和权限为中心,管理员可以给角色和用户授予模块、资源和操作等权限,被授予权限的用户登录系统后可以享有自己的功能和资源,角色可以与用户关联,这种通用的权限管理系统可以移接到其他后台系统上,有利于系统的维护与用户的管理。
目 录
第一章 绪论 1
1.1 选题背景及意义 1
1.2 国内外现状 2
1.3 存在问题 2
1.4 本文研究内容 2
1.5 论文结构 3
第二章 相关技术及工具 4
2.1 开发环境 4
2.2 三层架构 4
2.3 Entity Framework 4
2.4 EasyUI 5
2.5 ASP.NET MVC 5
2.6 RBAC模型 5
2.6.1 RBAC关键技术 5
2.6.2 RBAC模型类型 5
第三章 需求分析与设计 6
3.1 功能需求 6
3.2 性能需求 7
3.3 数据要求 7
3.4 可行性分析 8
3.4.1 技术可行性 8
3.4.2 经济可行性 8
3.4.3 操作可行性 8
*好棒文|www.hbsrm.com +Q: ¥351916072¥
/> 3.4.4 环境可行性 8
3.5 系统的整体设计 9
3.6 数据库设计 9
3.6.1 ER图 9
3.6.2 表结构设计 9
第四章 系统实现 13
4.1 系统登录 13
4.2 模块维护 14
4.3 资源维护 15
4.4 用户维护与授权 16
4.5 角色维护与授权 17
4.6 权限控制辅助类 17
4.6.1 权限资源辅助类privHelper.cs 17
4.6.2 权限控制辅助类privCtrl.cs 18
4.7 权限控制辅助类应用 19
4.7.1 左侧导航动态生成 19
4.7.2 界面操作的展示与隐藏 20
第五章 系统部署与运行测试 20
5.1系统部署 20
5.2运行测试 21
5.2.1 测试对象 21
5.2.2 模块测试 21
第六章 总结与展望 23
6.1 总结 23
6.2 下一步工作 24
致 谢 24
参考文献 25
第一章 绪论
选题背景及意义
近年来,随着管理信息系统向着多应用、多用户的方向不断发展,系统的安全问题也越来越受到人们的关注,而权限管理是整个系统安全的核心问题之一[1]。一个用户可以有多项权限,一项权限又可以为多个用户所有,只有授予了权限的人员才能获得相应的资源和操作,并且必须严格限制非法用户对资源的访问[2]。
本课题研究的是信息系统中的访问控制。访问控制(Access Control)是一种重要的信息安全技术,它通过限制用户对网络资源的访问,来保证网络资源能够被合法地使用,并阻止非法用户的入侵和用户的非法操作[3]。
访问控制模型及相关技术的研究可追溯到上个世纪60年代末,它的基本目的是防止不合法的用户进入系统和进入系统的合法用户对资源的滥用。在访问控制的研究历程中,曾先后出现了一系列的访问控制模型。
自主访问控制是指一个用户可以间接或直接把权限转向其他的主体。自主访问控制又被称为任意访问控制,它根据访问者的身份来控制对客体目标的授权访问[3]。
强制访问控制是一种多级的访问控制机制。它将访问主体和客体分别进行分级,系统根据主体和客体分别对应的安全级别来强制决定是否授权给主体[3]。
不管是自主型还是强制型都有其局限性,很难满足大型应用。在这种环境下,在用户和权限之间添加一个中介角色,在逻辑上把用户和权限分开,角色集合和权限集合对应,在创建用户的时候,不是直接给用户分配权限,而是给用户分配角色来获取对应的权限,这样更利于用户和权限的管理。
在我们开发软件的过程中,经常会遇到开发一个后台管理程序,用于管理我们开发的前台软件。当你开发的软件越来越多的时候,你的管理后台也会越来越多,这时如果有一个统一的通用用户权限管理后台,来进行管理,有统一的账号,统一的授权来进行多个后台的管理就好了,于是用户权限管理系统基础平台在这样的需求下产生了。
国内外现状
正文国外对RBAC访问控制模型的研究机构主要是美国国家标准技术研究所(National Institute of Standards and Technology)和George Mansion Univ. LIST实验室。前者主要进行标准化工作,后者主要对这些模型扩展,形式化描述等研究分析。
基于角色的访问控制RBAC(RoleBased Access Control)是David Ferraiolo和Rick Kuhn在90年代首先提出来的,并创造了第一个RBAC模型。George Mason和Ravi在这个RBAC模型的基础上进一步研究扩展,在这之后出现了RBAC0概念模型、等级模型RBAC1、约束模型RBAC2和组合模型RBAC3。之后,Sanhu等人提出了ARBAC97模型,ARBAC97模型是基于角色的角色管理模型,包括三个部分:URA97用户角色管理模型、PRA97权限角色管理模型、PRA97角色层次管理模型。
目 录
第一章 绪论 1
1.1 选题背景及意义 1
1.2 国内外现状 2
1.3 存在问题 2
1.4 本文研究内容 2
1.5 论文结构 3
第二章 相关技术及工具 4
2.1 开发环境 4
2.2 三层架构 4
2.3 Entity Framework 4
2.4 EasyUI 5
2.5 ASP.NET MVC 5
2.6 RBAC模型 5
2.6.1 RBAC关键技术 5
2.6.2 RBAC模型类型 5
第三章 需求分析与设计 6
3.1 功能需求 6
3.2 性能需求 7
3.3 数据要求 7
3.4 可行性分析 8
3.4.1 技术可行性 8
3.4.2 经济可行性 8
3.4.3 操作可行性 8
*好棒文|www.hbsrm.com +Q: ¥351916072¥
/> 3.4.4 环境可行性 8
3.5 系统的整体设计 9
3.6 数据库设计 9
3.6.1 ER图 9
3.6.2 表结构设计 9
第四章 系统实现 13
4.1 系统登录 13
4.2 模块维护 14
4.3 资源维护 15
4.4 用户维护与授权 16
4.5 角色维护与授权 17
4.6 权限控制辅助类 17
4.6.1 权限资源辅助类privHelper.cs 17
4.6.2 权限控制辅助类privCtrl.cs 18
4.7 权限控制辅助类应用 19
4.7.1 左侧导航动态生成 19
4.7.2 界面操作的展示与隐藏 20
第五章 系统部署与运行测试 20
5.1系统部署 20
5.2运行测试 21
5.2.1 测试对象 21
5.2.2 模块测试 21
第六章 总结与展望 23
6.1 总结 23
6.2 下一步工作 24
致 谢 24
参考文献 25
第一章 绪论
选题背景及意义
近年来,随着管理信息系统向着多应用、多用户的方向不断发展,系统的安全问题也越来越受到人们的关注,而权限管理是整个系统安全的核心问题之一[1]。一个用户可以有多项权限,一项权限又可以为多个用户所有,只有授予了权限的人员才能获得相应的资源和操作,并且必须严格限制非法用户对资源的访问[2]。
本课题研究的是信息系统中的访问控制。访问控制(Access Control)是一种重要的信息安全技术,它通过限制用户对网络资源的访问,来保证网络资源能够被合法地使用,并阻止非法用户的入侵和用户的非法操作[3]。
访问控制模型及相关技术的研究可追溯到上个世纪60年代末,它的基本目的是防止不合法的用户进入系统和进入系统的合法用户对资源的滥用。在访问控制的研究历程中,曾先后出现了一系列的访问控制模型。
自主访问控制是指一个用户可以间接或直接把权限转向其他的主体。自主访问控制又被称为任意访问控制,它根据访问者的身份来控制对客体目标的授权访问[3]。
强制访问控制是一种多级的访问控制机制。它将访问主体和客体分别进行分级,系统根据主体和客体分别对应的安全级别来强制决定是否授权给主体[3]。
不管是自主型还是强制型都有其局限性,很难满足大型应用。在这种环境下,在用户和权限之间添加一个中介角色,在逻辑上把用户和权限分开,角色集合和权限集合对应,在创建用户的时候,不是直接给用户分配权限,而是给用户分配角色来获取对应的权限,这样更利于用户和权限的管理。
在我们开发软件的过程中,经常会遇到开发一个后台管理程序,用于管理我们开发的前台软件。当你开发的软件越来越多的时候,你的管理后台也会越来越多,这时如果有一个统一的通用用户权限管理后台,来进行管理,有统一的账号,统一的授权来进行多个后台的管理就好了,于是用户权限管理系统基础平台在这样的需求下产生了。
国内外现状
正文国外对RBAC访问控制模型的研究机构主要是美国国家标准技术研究所(National Institute of Standards and Technology)和George Mansion Univ. LIST实验室。前者主要进行标准化工作,后者主要对这些模型扩展,形式化描述等研究分析。
基于角色的访问控制RBAC(RoleBased Access Control)是David Ferraiolo和Rick Kuhn在90年代首先提出来的,并创造了第一个RBAC模型。George Mason和Ravi在这个RBAC模型的基础上进一步研究扩展,在这之后出现了RBAC0概念模型、等级模型RBAC1、约束模型RBAC2和组合模型RBAC3。之后,Sanhu等人提出了ARBAC97模型,ARBAC97模型是基于角色的角色管理模型,包括三个部分:URA97用户角色管理模型、PRA97权限角色管理模型、PRA97角色层次管理模型。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/18.html