已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于角色的用户权限管理系统摘要:本文提出并实现了基于角色的用户权限管理系统。系统用于向用户和应用程序提供授权管理服务与实际应用处理模式相应的、与具体应用系统开发管理无关的授权和访问控制机制,有效地简化具体应用系统的开发与维护,提高系统整体安全级别。关键字:信息系统;权限管理;角色;ASP.NETRole-Based User Permissions Management SystemAbstract: This paper introduces and realizes role-based user permissions management system. The system used to provide user and application with authorized management services and authorization and access control mechanism which is corresponding with practical application processing pattern, and have no relevant with specific application system development management.Effectively simplify the development and maintenance of specific application system, and improve the system overall level of security.Keys: Information System; Permission Management; Role; ASP.NET基于角色的访问控制(Role-BasedAccessControl)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。本论文中实现了分配角色并授予相应的权限管理,从而提高了系统整体安全级别。1、知识背景与技术支持简要介绍了开发本系统所需的知识背景与技术,涉及到.NET 三层架构与访问数据库的ADO.NET技术。1.1 .NET三层架构体系 三层架构体系分为:表示层(UI)、逻辑层(BLL)、数据层(DAL)。表示层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面业务逻辑层:业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。1.2 数据库访问(ADO.NET)技术ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式是支持,并支持RICH XML由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,如图2.1所示,也可以是任何运行在其它平台上的任何应用程序。 ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。图2.1.ADO.NET体系结构2、系统功能需求分析采用ASP.NET技术实现基于角色的用户权限管理系统,应具有以下功能: 管理员登陆模块。需求描述:提供创建用户、管理员密码的修改功能; 用户信息管理。需求描述:提供管理员对用户信息的管理功能如删除,禁止登陆等功能; 系统配置管理。需求描述:提供管理员对系统初始化状态的设置功能。 角色授权管理。需求描述:供管理员对用户分配角色功能。 分组管理。需求描述:提供管理员对用户指定组功能 模块管理。需求描述:提供管理员对模块的增删改查功能 用户登陆模块。需求描述:提供用户修改密码、查看用户拥有的权限功能。3、系统总体设计一个好系统的好坏关键在于设计者的思想严密与否。涉及到数据存储,数据库表的设计是否可以压缩,用较少的表来实现数据存储,不单可以节省磁盘存储空间,而且还便于数据的查询。3.1 系统功能特性与构架思想本系统基于B/S(Browser/Server,浏览器/服务器)模式又称之为B/S结构。它是随着Internet技术的兴起,对c/s应用的一种扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。因而,客户端只需安装和运行浏览器软件,而在服务器端安装服务器软件和数据库管理系统,这样就构筑了一个简单适用的应用平台。此外,本系统采用三层构架的开发模式,加速了系统的开发过程。 3.2 系统功能结构图与系统流程图 基于角色的用户权限管理系统 应用系统授权系统普通用户登录模块管理员登录模块验证权限功能角色授权管理模块管理用户信息管理 系统配置权限管理图3.1 系统功能结构图授权系统与应用系统超级管理员授权用户登 录登 录允许登录允许登录 否 否 是 是模块管理用户信息管理权限管理 验证权限模块用户信息管理 图3.2 系统流程图4、系统实现设计4.1 数据库需求分析经过对系统功能分析和需求总结,设计并列举主要的数据项和数据结构。 超级管理员,包括数据项:账号、密码、登录时间、角色、组别等。 普通用户,包括数据项:账号、密码 ,登录时间、登录状态、角色、组别等。 角色,包括数据项:角色号、角色名称、角色描述、角色所在组、角色权限等。 组,包括数据项:组号、组名称、组描述、角色标识等。 模块,包括数据项:模块标识、模块名称、模块描述、模块分类、模块权限等。 权限,包括数据项:权限标识、权限名称、权限描述等。 系统配置,包括数据项:配置号,配置名称、配置值、配置描述等4.2 数据库E-R图 通过上面列举出数据项和数据结构,等同于数据库中实体与属性,通过E-R关系图,如图4.1所示,可以较为方便的找到实体之间的关系。 图4.1 数据库E-R图4.3 数据库逻辑结构设计根据上面提到的实体、属性以及E-R图,转化为数据表的设计。接下来简要介绍一些数据库表的结构。 t_Users表 用于记录用户的账号信息。表 4.1 t_Users表列名数据类型为空说明UserIDint主键管理员编号UserNamenvarchar(128)否管理员名称Passwordnvarchar(128)否密码Emailnvarchar(100)否常用邮箱Questionnvarchar(100)否提示问题Answernvarchar(100)否信息答案RoleIDint外键所属角色UserGroupint外键所属组CreateTimedatetime否创建日期LastLoginTimedatetime否最后登录日期Statusint否登录状态IsOnlinebit否是否在线IsLimitbit否是否受限登录 RGP_Roles表 用于记录系统角色的相关信息。表 4.2 RGP_Roles表列名数据类型为空说明RoleIDint主键角色标识RoleGroupIDint外键角色所属组名称RoleNamenvarchar(30)否角色名称RoleOrderint否角色排序RoleDescriptionnvarchar(30)是角色描述 RGP_Modules表 用于记录系统模块的相关信息。表4.3 RGP_Modules表列名数据类型为空说明ModuleIDint主键模块编号ModuleTypeIDint外键模块类型编号ModuleNamenvarchar(30)否模块名称ModuleTagnvarchar(50)否模块标识ModuleURLnvarchar(100)否访问模块URLModuleDisabledbit否模块是否可用ModuleOrderint否模块访问级别ModuleDescriptionnvarchar(50)是模块描述信息IsMenudatetime否是否显示在菜单上RGP_RoleAuthorityList表 用来保存不同的用户所具有的权限信息。表 4.4 RGP_RoleAuthorityList 表列名数据类型为空说明IDint主键角色权限编号UserIDint否用户编号RoleIDint否 角色编号GroupIDint否组编号ModuleIDint否模块编号AuthorityTagnvarchar(50)否权限标识4.4 业务逻辑类设计 业务逻辑层是三层架构模式的核心,是具体操作的实现部分。既为表示层提交的信息作处理,又要对数据层的相关内容操作,比如数据更新,数据删除等一些数据库的操作。接下来简要介绍一些具体类的功能与实现这些功能的方法名称。 用户类(Users类)提供对管理员、用户业务实体的逻辑操作,通过引用数据访问层相关方法以实现用户登录检查、创建用户、更新用户、删除用户等,同时对操作结果再进行逻辑处理以供用户界面层显示。方法名:public bool CheckLogin() public bool CreateUser() public bool UpdateUser() public bool DeleteUser() 用户分组类 (UserGroup类) 提供用户分组的一些逻辑操作,通过引用数据访问层相关方法以实现创建用户分组、更新用户分组、检索用户分组、删除用户分组等,同时对操作结果再进行逻辑处理以供用户界面层显示。方法名:public bool CreateUserGroup() public bool UpdateUserGroup() public bool DeleteUserGroup()public RGP.Modal.UserGroup GetUserGroupModal() 角色类(RGP_Roles类) 提供对角色管理、授权的一些逻辑操作,通过引用数据访问层相关方法以实现增加角色、更新角色、删除角色、查询角色、修改用户模块权限等,同时对操作结果再进行逻辑处理以供用户界面层显示。方法名:public bool CreateRole() public bool UpdateRole() public bool DeleteRole () public RGP.Modal.RGP_Roles GetRoleModal() public bool UpdateUserAuthority() 模块类(RGP_Modules类)提供对模块或者模块分类的一些逻辑操作,通过引用数据访问层相关方法以实现增加模块或者模块分类、更新模块或者模块分类、删除模块或者模块分类、查询模块、判断模块分类下是否有模块等,同时对操作结果再进行逻辑处理以供用户界面层显示。方法名:public bool CreateModuleType() public bool UpdateModuleType() public bool DeleteModuleType()public RGP.Modal.RGP_ModuleType GetModuleTypeModal() public bool IsModules() 权限类(RGP_AuthorityDir类)提供对权限列表的一些逻辑操作,通过引用数据访问层相关方法以实现增加权限、更新权限、删除权限、查询权限等,同时对操作结果再进行逻辑处理以供用户界面层显示。5、系统预览与改进5.1 系统界面展示(1)超级管理员登陆界面: 此登陆界面只限超级管理员登陆,管理员登陆成功后可以进行创建用户、授权管理。图6.1 管理员登陆界面(2)创建用户界面: 输入用户名时,利用Ajax技术,审核该用户名是否存在。图6.2 创建用户界面(3)用户管理模块界面 管理员给予用户权限,更改用户信息,删除用户等。图6.3用户管理模块界面(4)权限管理模块界面 图 6.4 权限管理模块页面(5)角色授权界面 管理员给予用户角色,不同的角色登陆系统后的权限不同,对模块的访问权限不同等。图6.5 用户管理模块界面(6)模块管理界面 管理员通过模块管理界面,可以新增模块,更新模块,删除模块等。图 6.6 系统配置模块页面5.2 系统待改善之处数据库表的设计,管理员和用户使用一张表,通过他们的角色身份来判断是管理员还是普通用户,以便进去不同的系统。这样可以减少表的设计,不单节省存储空间,还可以高效的查询。此外,模块设计只是实现了一些授权功能验证,并没有去真正的实现,因此这些模块的实现也是系统要完善的地方。还有访问数据库的方式,采用连接池访问管理的方式,可以高效的去管理数据库。参考文献1卫春红.面向对象系统分析与设计M.陕西:西安电子科技大学出版社,2005.2 葛子昂译. .
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑起重机械安装与拆卸安全协议模板
- 初高中语文文学常识习题解析
- 钢琴大赛活动新闻稿写作技巧与范文
- 2025年建筑施工作业人员安全培训试卷及答案-施工现场安全
- 2025年煤矿应急演练参演人员应急演练参演人员应急演练总结培训试卷及答案
- 2025年焊接与切割作业安全监督培训试卷及答案:焊接作业安全监督技能
- 2025年煤矿三级安全教育安全设施设备操作人员使用篇试卷及答案
- 电子厂员工培训及考核方案
- 劳务派遣服务流程规范与案例分析
- 小学音乐课堂教学反思与心得体会
- 智能建造理论与实践 课件 第四章 智能建造技术与应用
- 小学生科普知识讲解大赛
- 党风监督员培训课件
- 不锈钢电梯门套合同
- 数字孪生简介介绍
- 华为H12-611 V1.0 HCIA-openEuler认证备考试题库及答案(高分刷题版)
- 职业道德与法律中职PPT完整全套教学课件
- 2022年包头市中小学教师招聘考试真题
- 娱乐场所安全保卫工作方案
- 数据中心基础设施管理系统DCIM技术方案
- GB/T 18033-2007无缝铜水管和铜气管
评论
0/150
提交评论