基于shiro的权限管理系统设计和实现毕业设计

上传人:1888****888 文档编号:39644485 上传时间:2021-11-11 格式:DOC 页数:33 大小:467.50KB
收藏 版权申诉 举报 下载
基于shiro的权限管理系统设计和实现毕业设计_第1页
第1页 / 共33页
基于shiro的权限管理系统设计和实现毕业设计_第2页
第2页 / 共33页
基于shiro的权限管理系统设计和实现毕业设计_第3页
第3页 / 共33页
资源描述:

《基于shiro的权限管理系统设计和实现毕业设计》由会员分享,可在线阅读,更多相关《基于shiro的权限管理系统设计和实现毕业设计(33页珍藏版)》请在装配图网上搜索。

1、济南大学毕业设计摘 要随着经济社会的发展和信息科学技术的不断进步,信息的处理量越来越大,也越来越繁杂,于是计算机技术被广泛的应用到社会的各个领域之中。但随着最近一些比较严重的信息系统泄密事件的发生,使用者意识到了信息系统安全的重要性,如何保护信息的安全成为使用者最关心的问题。这里我们从系统设计实现的角度进行处理,在用户对系统数据进行访问前,先通过基于RBAC的权限管理系统的验证,确定用户拥有的角色,根据用户角色的权限再向用户展示数据信息,从而实现保护系统信息的目的。该系统依托现在流行的JSP语言,通过MySQL数据库的数据处理,开发出通用权限管理系统来对用户身份权限信息进行验证。这套系统具有权

2、限分配简单、扩展性好的优点,并且支持岗位、权限多变的各种需求。作为信息系统的附属系统,该系统很好的实现了用户与页面功能数据的整合和分离,还增添了信息管理等附带功能。实践证明,基于RBAC的权限管理系统是最方便和快捷的安全管理控制方法。关键词:网络信息安全;RBAC;权限管理系统;角色ABSTRACTAs the development of the social economy and the technology and science, the information needed to treat is bigger and bigger, and become increasingly

3、 complex, so computer technology is widely applied to every field of society. But along with some serious information system leaks events happened one after another, people have realized the importance of network security, thus how to protect information security data from violation has become that

4、users care most about. Here, a detailed analysis of the design from the viewpoint of the systems realization is given, users first must log in to access the privilege management system, for each user group one or more users are selected and their roles and authority s are identified, and then they c

5、an view the client list and details about each client, so as to achieve the goal of protection system information.The authority management system is based on fashionable JSP language and MySQL database technology to authenticate user identity authorization information. Authority administrative syste

6、m that adopts this method has stronger commonness and practicability, which can meet demand of authority management in general application system. As the subsidiary system of information system, the system is good enough to achieve the integration and separation between the user and the function. Pr

7、actices show that an authority management system based on RBAC is the most convenient and efficient safety management control.Key words: Network information security;Role-Based Access Control;Authority management system;RoleII目录摘 要IABSTRACTII1 前言- 1 -1.1 项目背景- 1 -1.2 目的及意义- 1 -1.3 B/S开发模式的优点- 2 -2 需

8、求分析- 3 -2.1 系统概述- 3 -2.2 系统功能需求分析- 3 -2.2.1 用户管理- 3 -2.2.2 角色管理- 4 -2.2.3 功能管理- 4 -2.3 UML 建模- 4 -2.3.1 管理员用户的用例关系图- 4 -2.3.2 一般用户的用例关系图- 5 -2.4 系统性能分析- 6 -2.4.1 安全性需求分析- 6 -2.4.2 稳定性需求分析- 7 -3 概要设计- 8 -3.1 总体设计- 8 -3.2.1 模块划分- 8 -3.2.2 模块设计- 9 -3.3模块设计- 11 -3.3.1权限管理模块- 11 -3.3.2 用户密码修改模块- 13 -3.3.

9、3 用户账户管理模块- 14 -3.4 数据结构设计- 16 -3.4.1 用户信息表- 16 -3.4.2 角色信息表- 17 -3.4.3 功能菜单表- 17 -3.4.4 角色菜单表- 17 -4设计与实现- 18 -4.1 软件架构- 18 -4.2 系统架构- 18 -4.3访问控制设计- 19 -5系统测试- 20 -5.1 测试目的- 20 -5.2 测试内容- 20 -5.2.1 功能测试 - 20 -5.2.2 性能测试- 20 -5.3测试用例- 20 -5.4测试结果分析- 24 -6总结与展望- 25 -结 论- 26 -参 考 文 献- 27 -致 谢- 29 -1

10、前言随着计算机和网络信息技术的高速发展,网络信息的安全成为越来越大的问题,而访问控制技术是实现系统信息安全的重要手段。随着现在系统普遍面向用户数大,处理数据量大,功能日益复杂的现状,如果还继续使用ABAC的访问控制模式将会使权限管理的实现变的相当繁琐和复杂。于是人们设计了多种用来控制用户权限的系统模型,来确保敏感的数据信息只有拥有相应权限的人才可能看得到。通过实践,基于角色的权限控制(RoleBased Access Control,RBAC)模型由于其简单方便易于维护的特点得到了越来越广泛的认同,被广泛应用在各种网络信息系统和大型MIS系统中。1.1 项目背景在20世纪90年代发展并日臻完善

11、的基于角色的访问控制(RBAC,Role-Based Access Control)是一种管理和增强系统安全性的技术。这种访问控制通过引入“角色”这一中介量,从而实现了用户和访问许可的逻辑分离,极大地方便了权限管理。JSP技术是现在流行的网络系统开发技术,因其具有跨平台的适应能力而被众多设计者所采用。当Web服务器接收到访问JSP网页的请求时,首先执行网页的程序段,然后将执行结果返回给客户。Java程序段可以对数据库数据进行操作,也可以返回或者前进到另外一个界面。JSP与Java Servlet相似,所有数据处理均在服务器端进行,用户只需要用浏览器接收服务器反馈的信息即可。JSP技术的基础是J

12、ava Servlet,应用程序的开发需要同时拥有Java Servlet和JSP。JSP继承了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠的所有特点。JSP可用等式表示为:HTML+Java=JSP。1.2 目的及意义随着信息网络技术的在社会各个领域的广泛应用,如何防止敏感数据信息的泄露成为系统使用者最关心的问题。同时,为了保证系统的安全稳定的运行,使员工只能对自己拥有权限的数据进行操作和处理,其他的都不能查看以及操作,就需要在系统中根据每个人的职能为其分配相应的权限。基于RABC的权限管理平台因其简单、方便快捷的权限处理机制,很好的解决了数据泄密以及功能权限的问题。通过

13、建立权限管理系统,可以保证每个员工只能根据自己的本职工作对系统数据进行限制性操作,防止信息泄露篡改问题的发生,为使系统更好的方便日常工作提供有效的安全保障。同时因为有了授权机制,也可以防范无关人员对服务器进行非法操作,保证系统安全稳定的运行。针对基于RABC的权限管理系统的设计理念,我从实际需求和能力出发,设计并实现了这个权限管理系统,它具有自适应性强、通用性好的特点,可以很好的减少权限管理系统的维护工作,提高权限管理系统的通用性,并且能够避免权限管理系统的重复开发问题。系统着重关注了用户与访问许可实现逻辑分离的过程,可以作为大家认识了解和学习RBAC技术的一个范例。1.3 B/S开发模式的优

14、点B/S结构就是只安装维护服务器,将系统布置到服务器中,客户端采用浏览器来运行软件,即浏览器/服务器结构。相对于C/S结构,B/S有很明显优点和长处。(1)维护工作量大大减少。如果系统 需要进行维护,B/S结构只需要维护部署在服务器上的程序即可,而C/S结构系统维护时,除需要维护服务器上的程序外,还需要额外升级客户端程序。(2)B/S结构开发的程序具有很强的适应性。B/S结构实行的是3层数据处理,用户只是通过浏览器接受经过服务器计算完成之后的数据,及时用户电脑配置很低也能胜任。但是C/S结构实行的是2层数据处理,数据还需要到用户客户端进行计算处理,这增加了客户端的软硬件负担。(3)B/S结构开

15、发的系统数据一致性好。B/S结构系统数据实行集中存在,不同用户查看统一信息是完全一致的。C/S结构系统由于数据存放与客户端中,数据会有一定的不一致现象出现。(4)B/S结构系统数据具有很好的实时性。C/S结构系统看到的数据都是客户端上传到服务器的数据,B/S系统因为其数据就在服务器中,所以B/S系统看到的都是系统的实时数据,能为决策者提供实时准确的参考。(5)B/S结构系统具有很好的数据安全性。C/S结构软件由于其数据分布的特性,因客户端本身或者外部环境而发生的数据损毁时常发生,使之保证数据安全的性能大大降低。而B/S结构的系统由于其数据直接存放于服务器中,不存在与客户端进行数据交换的行为,从

16、而会极大的提高数据的安全性。2 需求分析2.1 系统概述随着计算机和网络信息技术不断发展,网络信息技术在各个领域的成功的应用结果让单位信息化的需求越来越强,使得单位越来越注重自己的信息化建设,网络办公及单位内部的信息处理已经成为众多单位尤其是网络公司的工作模式。在单位进行信息化建设过程中,单位的敏感信息安全成为了其中的一个重要问题,因此,信息系统的安全成为单位信息化过程中所要处理解决的首要问题之一。权限管理系统的设计目的在于利用计算机编程技术,构建一个依附于信息系统的安全可靠的权限管理平台,保证单位敏感信息的不被不适宜的人获取、篡改以及删除,保护数据的保密性、一致性、完整性。该系统应有如下几大

17、功能模块:用户信息管理,角色信息管理,功能基本信息管理,角色分配管理和权限分配管理。系统首先建立管理员用户和一般用户信息,通过对用户进行角色分配,再通过对角色进行权限的分配,来实现系统对用户的权限控制。现在多数单位的信息管理系统的安全授权比较复杂,包含众多的业务实体和事物处理应用,每个部门中同一职位的员工因职能范围或地域的不同而具有的权限也不尽相同,有时甚至对同一个用户,或许由于在不同的业务中,也会有不同的权限,这种现象反映在信息系统中就是个体的权限和具体资源的对应关系,为了使得权限系统更加灵活、便捷,本设计采用RBAC 授权模型,可以用来有效减轻系统权限的管理难度和操作的复杂度。根据信息系统

18、的需要,权限系统中设置了超级管理员,通过超级管理员来进入权限管理系统,对其余的普通的用户进行赋权。2.2 系统功能需求分析基于一般信息系统对权限管理的要求,我们采用了基于角色的访问控制模型进行设计。系统按照RBAC模型可为功能管理、角色管理、用户管理等三大模块。2.2.1 用户管理用户信息是权限系统的基础信息,是系统控制的主体资源,用户直接关联角色信息,如果没有用户或者角色信息,系统就会拒绝用户的登录及其对系统信息的访问操作,用户的信息管理是权限系统首先要处理的问题。用户管理的需满足如下需求:(1)可以添加新的用户;(2)能查看所有用户信息;(3)删除已有用户信息;(4)查看用户所具有的角色及

19、权限;(5)修改用户信息;(6)对用户赋予相应角色。2.2.2 角色管理角色管理是RBAC系统中的重要一部分,它是用户的和权限之间的纽带,一个角色会有多个用户,角色对应一定的功能权限菜单,即具体的权限。当用户拥有正确的角色,并且角色设置了正确的权限,用户才能对系统进行访问和操作。用户角色管理的需求描述如下:(1)可以查看系统中拥有的所有角色信息;(2)可查看具体某一角色的名称、描述以及角色权限;(3)可修改、删除角色信息;(4)可修改角色的权限分配。2.2.3 功能管理该模块里是设置并定义权限管理系统所管理系统的菜单信息(即功能权限信息),将系统的功能菜单路径信息输入到权限系统中,通过对角色赋

20、予功能菜单的权限实现用户权限管理的目的。2.3 UML 建模在权限管理系统中用户有两类:一种是管理员用户,另一种就是一般用户。由于本权限管理系统设计简单,这时里只给用户功能用例图。2.3.1 管理员用户的用例关系图权限系统管理员用户是权限系统中拥有最高权限的用户,它的主要的操作就是对系统中的用户信息、角色信息及功能信息进行管理,管理员用户一般不会参与到信息系统的具体业务中,它是一个只对应权限系统的特殊用户。权限系统管理员具体的操作权限有:增加用户、查询用户、删除用户、为用户授予角色、删除用户角色、查看用户角色、查看用户权限、增加角色、删除角色、查看角色、给角色授予权限和查看角色权限等功能。管理

21、员对一般用户进行了相应的权限设置,一般用户才能登录到信息系统中进行数据的查看和处理。 图2.1 管理员用户的用例关系图2.3.2 一般用户的用例关系图一般用户的权限比较管理员要小的多,最主要的一般是角色的不同,管理员拥有系统管理角色,一般用户往往是其他的角色,具体权限需要管理对其进行设定。在本系统中设定只有超级管理员用户可以登录权限系统,一般用户会提示没有权限。假设一般用户能登录权限系统,那么其在权限管理系统中的权限一般只能查看其自己的一些用户信息,角色信息,已经权限信息等,不能操作更改信息。图2.2 一般用户的用例关系图2.4 系统性能分析2.4.1 安全性需求分析构建一个成功的权限管理系统

22、首先应该了解需要控制的系统的所有功能菜单信息,只有完整并且准确的获取到菜单功能信息,才能对角色赋予相应的权限,才能使权限系统与信息系统科学合理的进行匹配。(1)权限系统控制要点权限系统控制要点有:信息资源、用户、单位的机构设置、具体岗位、业务角色、具体任务、业务流程以及业务规则等。(2)访问控制的特点在信息系统中,访问控制系统要具有很好的适应性以满足动态的或者特定用户的安全需求。因此我们需要深入了解并分析系统访问控制的特点。1)用户特点信息系统的使用户数量繁杂,用户工作岗位变化也很频繁,如调进、调出、新进、辞职等。同时若新业务的增加也会使得用户的工作内容频繁变化。用户的不确定性是单位规模增大和

23、业务增加的必然结果。2)信息资源特点现在系统普遍面临系统数据量大的特点,如何正确分类整理并确定其信息安全等级成为设计者必须要考虑的问题。3)单位的机构设置特点现在各个单位的机构设置都不尽相同,而且类型复杂,各个单位的机构设置都有其自己的特点、大型单位还存在地域上分布式的特点。5)任务特点单位环境中,具体任务的数量多并且种类复杂,因此,为了满足单位对访问控制的安全性需求,一般采用扩展性好、灵活性高的RBAC访问控制模型。根据具体任务涉及到的系统菜单等信息,需要对用户角色进行及时的赋权更新操作。2.4.2 稳定性需求分析软件系统的稳定性是决定软件系统好坏的一个重要因素。一套系统在持续操作时间内出错

24、的概率就是指软件的稳定性,例如统计一天之内系统出错的次数。软件的稳定性需要从设计角度出发,依靠经验丰富的开发人员,通过合理划分系统模块,科学设计每个模块之间的关系,使用稳定的系统框架,来使系统即使更改部分代码,其对软件系统的影响也会将到最低。如果一个系统报错的概率比较大(一天内出错两次或更多次),或者需要重启(一天内出错两次或更多次)才能正常运行,这就表明系统的稳定比较差。不稳定的系统会给使用单位带来巨大的麻烦,如系统数据不及时、不准确、系统经常瘫痪、业务无法正常运作等问题。导致系统稳定性差的原因主要是系统的并发数太多或者系统容错能力差。本权限管理系统由于使用者大多只是管理员,并发数应该不会太

25、多,主要精力还是放在提高系统的容错能力上。3 概要设计3.1 总体设计通过超级管理员用户登录系统后,会进入系统主页面,页面上主要的功能有:功能管理,角色管理,用户管理,系统属性,信息管理模块。功能管理主要是对信息系统的功能菜单信息进行维护,包括“添加,删除,修改”操作。角色管理主要对用户的角色信息进行维护,包括“添加,查看,删除,修改,权限分配”操作。用户管理主要用管理信息系统用户的信息,包括“添加,查看,修改,删除”操作。系统属性主要用于显示当前系统的一些信息。用户管理是本论文重点,这里所说的用户管理就是权限管理。在权限管理中,包括信息管理设置了一些额外的信息显示功能。在这系统功能中,用户管

26、理师最主要的功能。用户信息的增加,删除,修改,以及具体用户角色的分配,具体权限的查看都可以在此进行操作和查看。此时,管理员可以对其进行权限的修改。3.2.1 模块划分进入系统主页面,系统主要的功能有:功能管理,角色管理,用户管理,以及权限分配管理。如图所示:图 0.1 模块划分3.2.2 模块设计1) 用户管理在系统首页,用户输入用户名密码后,由JSP控制器接收,然后和后台数据库中的用户数据进行比较,验证成功则进入操作主页面。在权限管理主界面如果管理员用户需要对某个用户进行操作,需要首先对数据库中的用户信息进行搜索,然后再对检索出的用户数据进行修改或者删除。在用户管理界面上管理员用户可以直接进

27、行添加用户账户操作。图 0.2 账户管理时序图2) 权限管理权限管理存在于角色管理模块下,根据用户关联角色,角色关联具体权限的设计思路,因此用户点击角色管理进入角色管理模块进行操作。权限管理过程简述为:根据获取的用户信息,首先检索用户的角色信息,在根据检索出的角色信息,控制器通过查询数据库后返回所选用户的所有权限信息。这时管理员就可以查看的用户权限信息,同时也可以对该用户的权限信息进行重新设置。拓展:权限组管理。现在权限管理系统很多设计到了权限组的概念,主要是对用户、角色的进一步整合。可设计为用户点击权限组管理进入权限组管理模块,系统会显示所有权限组,用户可以对所选权限组进行修改和删除操作,也

28、可以增加权限组。本系统中没有涉及到权限组的设计。图 0.3 权限管理时序图3) 重置及修改密码重置密码,用户进入重置密码页面,输入要重置密码的用户账号后,点击确认,控制器就会用初始密码替换掉数据库中的当前密码,最后会在页面中显示初始密码。修改密码,用户进入用户信息修改页面,输入新密码后,点击提交,控制器就会对数据库进行操作,将当前密码替换成新密码。图 0.4 密码管理时序图3.3 模块设计3.3.1权限管理模块1) 权限管理业务逻辑类设计RightModifyBusiness类是权限修改业务逻辑类,主要是针对权限修改控制器发出修改权限消息,然后权限修改逻辑类相应,并通过JDBC修改数据库信息。

29、他们之间通过Session传递消息,消息的内容存放在Form里,通过UserForm类接收和存储消息。UserForm是ActionForm子类,同时把String类作为自己的私有属性,主要是用于存储各种信息。JvDBO是JDBC连接的主要类,主要用于数据库的连接操作,同时将连接的Connection返回,供RightModifyBusiness使用。图 0.5 权限修改类图2) 权限管理控制器类设计图 0.6 权限显示类图权限管理控制器类,用于接收网页(JSP)传来的消息,然后通过调用业务逻辑类进行数据处理,然后根据处理后的情况跳转的不同的页面。这样可以实现复杂的业务逻辑。控制器类是Acti

30、on的子类,其可以接收网页(JSP)传来的Form表单的数据,同时利用Session进行保存和消息的传递。其依赖的类包括UserForm(进行数据的存储和传递),JvUser(权限操作对象),ActionMapping(主要用于页面的跳转)。在JvDBO类中还把Logger日志类作为自己的私有属性,所以在进行数据操作时,系统会记录相关的操作信息,方便管理员进行维护。3.3.2 用户密码修改模块1) 用户密码修改业务逻辑类设计密码操作管理模块涉及密码的修改,重置。这里只针对密码修改模块进行介绍。密码重置的原理和密码修改的原理大同小异,都是对数据库进行相关的操作。PasswordModifyBus

31、iness密码修改业务逻辑主要是为密码修改控制器模块服务的。当密码修改业务逻辑收到控制器类的消息时,当然传递消息的渠道还是Session,载体依然是ActionForm。此时,业务逻辑类会提取Session中的数据跟据控制器的指令进行相关的数据库操作。在数据库操作之前,业务逻辑会进行数据库的连接和认证。图 0.7 密码修改业务逻辑图2) 用户密码修改控制器类设计密码修改控制器类,是JSP 网页编程中MVC模块中的control,模块,即控制器模块,主要功能是通过页面传送的消息和指令,通过复杂的后台业务逻辑处理,然后根据处理后的结果,进行相关的页面跳转。所以不同的结果会跳转的同一个页面或者不同的

32、页面,这个完全取决于系统的设定。密码修改控制器收到网页表单里德数据后,会把数据存储在PasswordForm类中,然后通过Session类把数据传送给业务逻辑类进行相关的业务处理,并接收业务逻辑类处理后的结果,根据结果进行页面跳转操作。图 0.8 密码修改控制器类图3.3.3 用户账户管理模块1) 用户账户管理Bean类设计用户bean把用户的数据变量声明为私有属性,通过界面的set和get函数获取,然后提交到actionform表单中,再通过后台数据库进行匹配或者处理操作。图 0.9 用户Bean类图2) 用户账户管理Form类设计ActionForm用于封装用户的请求参数,而请求参数是通过

33、JSP页面的表单域传递过来的。可以把Form理解为JavaBean的一种形式,Form主要是当用户把网页里德表单填好后,点击提交按钮,然后网页会把表单里的数据通过Session或Url传送给后台,此时后台会利用ActionForm类进行数据的接收操作。此时ActionForm类的任务就完成了。图 0.10 用户账户管理Form类图3) 用户账户管理业务逻辑类设计用户账户管理模块,包括用户账户的增加,修改,删除,和现实模块,这里仅以用户账户删除模块进行介绍。其他的模块类结构和本模块结构相同,只是操作上存在差异。用户删除业务逻辑类把日志类Logger加入到了自己的私有属性之中,主要是用于记录管理员

34、在对用户账户进行的一系列操作。方便日后的维护和系统的安全。用户账户操作,依赖于用户类JvUser和用户表单类UserForm。其在接收到用户账户控制器类传来的消息后,会调用JvDBO类进行JDBC连接和数据库操作。实现JSP后台的复杂业务逻辑。图 0.11 用户账户删除业务逻辑类图3.4 数据结构设计权限系统所涉及的数据库表有如下几张:表 3.1 数据库表名清单中文表名 英文表名 表功能说明用户信息表 s_userinfo 记录用户相关信息系统功能表 s_menu 记录系统功能信息角色信息表 s_role 记录角色信息权限信息表 s_rolemenu 记录角色权限信息3.4.1 用户信息表表

35、3.2用户信息表序号 字段名 字段中文名 数据类型 备注1 uid 用户id int 2 username 用户姓名 varchar(15) 3 userpwd 用户密码 varchar(50) 4 unickname 用户昵称 varchar(20)5 uage 用户年龄 int6 usex 用户性别 varchar(2)7 uemail 用户邮箱 varchar(50) 8 umobile 用户手机号码 varchar(20) 9 uaddress 用户地址 varchar(100) 10 roleid 用户角色id int 11 ucreatedate 创建时间 datetime12 u

36、logintime 登录时间 datetime3.4.2 角色信息表表 3.3角色信息表序号 字段名 字段中文名 数据类型 备注1 roleid 角色id int 2 rolename 角色名称 varchar(20) 3 roledesc 角色描述 varchar(100)3.4.3 功能菜单表表 3.4功能菜单表序号 字段名 字段中文名 数据类型 备注1 menuid 菜单id int 2 menuname 菜单名称 varchar(20) 3 menufatherid 父节点 int4 menuurl 功能路径 varchar(150)5 menusortno 排序号 int3.4.4

37、角色菜单表表 3.5角色菜单表序号 字段名 字段中文名 数据类型 备注1 roleid 角色id int 2 menuid 菜单id int 4设计与实现4.1 软件架构B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。B/S结构系统由于对客户端硬件性能的地要求而被众多系统所使用,本系统也采用了这一构架,在电脑上配置了tomcat6.0、JDK和MySQL数据库,搭建起服务平台,使用者可使用IE浏览器访问系统地址获取系统数据,无需系统客户端。B/S系统网络结构图图 4.1系统网络结构图4.2 系统架构想进入

38、本权限管理系统,首先需要在系统首页界面中输入正确的管理员用户和密码,经过与后台数据库中的数据进行对比,如果验证通过,则进入到系统操作界面。本系统界面的主要功能有基本操作、信息管理和系统管理三大主要功能。基本操作里只是显示了系统部署环境的一些信息。信息管理师这个系统拓展的一个功能部分,在这里可以展示进入系统的管理员可能需要了解的信息,例如系统公告、重要社会新闻信息等。系统管理是本系统的核心功能区,里面分为功能管理、角色管理和用户管理三部分。功能管理里需要定义信息系统的各项功能路径、功能信息。角色管理主要定义的是用户关联到的角色信息,以及具体角色关联的功能路径(即角色关联的具体权限信息)。用户管理

39、主要定义了用户的基本信息,以及用户关联的角色信息,也可以直接查询到该用户的权限。图4.2 系统构架图4.3访问控制设计访问控制是通过Servlet和JSP语言,将数据库中的user信息表关联到role角色信息表,而在角色信息表又与功能表关联,形成RABC的访问控制模式,从而实现用户权限的管理功能。5系统测试5.1 测试目的通过测试系统的主要功能,来使系统最大限度的满足用户的需求,及时发现系统中存在的bug问题缺陷以便进行修改,验证系统的稳定性。5.2 测试内容5.2.1 功能测试(1)系统登录。验证管理员用户和非管理员用户登录系统的差异,验证账号密码的匹配是否正确。(2)功能管理。验证功能管理

40、能否正常的添加、删除、修改功能信息。(3)角色管理。验证角色管理能否正常的添加、删除、查看、修改角色信息,以及能否正常的给角色分配权限。(4)用户管理。验证用户信息能否正常的进行添加、删除、修改、查看操作。在修改界面中,修改位置的信息是否正常显示和是否能正常修改。5.2.2 性能测试测试测试主要测试系统的响应时间,界面数据的变更与数据库信息的变更是否一致。测试多个用户同时对系统并发操作时系统的性能。5.2 测试用例(1) 测试系统用户登录表5.1 登录测试案例1用例编号Test01测试目的测试登录失败时能否返回相应错误信息测试步骤输入不存在或者错误的用户名及密码期望结果返回错误信息“用户名或密

41、码出错!”,并返回重新输入实际结果返回错误信息“用户名或密码出错!”,并返回表5.2 登录测试案例2用例编号Test02测试目的测试登录成功系统进入主界面测试步骤1.输入正确的用户名2.输入正确的密码,点击登录按钮期望结果系统进入主界面实际结果系统进入主界面(2)测试功能管理。点击功能管理能否正常跳转到功能管理界面。在功能管理界面,能否在操作工具栏中进行修改删除操作。点击修改是否能跳转到修改界面中。修改后的内容能否保存到数据库中,是否有效。点击删除是否有确认提示,删除操作是否有效。表5.3 功能测试案例1用例编号Test03测试目的测试功能管理界面是否正常显示测试步骤点击功能管理界面期望结果正

42、常跳转到功能管理界面实际结果正常跳转到功能管理界面表5.4 功能测试案例2用例编号Test04测试目的测试功能管理界面的修改功能是否正常跳转测试步骤点击功能管理界面中的修改按钮期望结果正常跳转到功能修改界面实际结果正常跳转到功能修改界面表5.5 功能测试案例3用例编号Test05测试目的测试功能修改内容是否提交成功测试步骤1.修改功能名称2.父节点标志3.修改功能url4.修改排序号5点击提交按钮期望结果正常跳转到数据操作成功界面,并跳转到功能管理界面实际结果正常跳转到数据操作成功界面,并跳转到功能管理界面表5.6 功能测试案例4用例编号Test06测试目的测试功能修改内容能否正常重置成功测试

43、步骤1.修改功能名称2.父节点标志3.修改功能url4.修改排序号5点击重置按钮期望结果清除修改操作,显示默认值实际结果清除修改操作,显示默认值表5.7 功能测试案例5用例编号Test07测试目的测试功能管理界面的删除功能是否正常跳转测试步骤选中功能管理界面中的一个功能删除按钮期望结果正常弹出确认界面,点击确认后功能删除,点击取消操作取消实际结果正常弹出确认界面,点击确认后功能删除,点击取消操作取消(2) 测试角色管理。表5.8角色测试案例1用例编号Test08测试目的测试角色管理界面的查看功能是否正常跳转测试步骤选中角色管理界面中的一个角色的查看按钮期望结果正常跳转到用户查看界面,点击返回按

44、钮后正常返回到角色管理界面实际结果正常跳转到用户查看界面,点击返回按钮后正常返回到角色管理界面表5.9角色测试案例2用例编号Test09测试目的测试角色管理界面的修改功能是否正常跳转及进行修改提交操作测试步骤1. 选中角色管理界面中的一个角色的修改按钮2. 修改角色名称3. 修改角色描述4. 点击提交期望结果正常跳转到用户修改界面,修改信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到角色管理界面。实际结果正常跳转到用户修改界面,修改信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到角色管理界面。表5.10角色测试案例3用例编号Test10测试目的测试角色管理界面的修改功能是否正常

45、跳转及进行修改重置操作测试步骤1.选中角色管理界面中的一个角色的修改按钮2.修改角色名称3.修改角色描述4.点击重置期望结果被修改的信息被重置到系统默认值实际结果被修改的信息被重置到系统默认值表5.11角色测试案例3用例编号Test11测试目的测试角色管理界面的权限分配功能是否正常跳转及进行提交修改操作测试步骤1.选中角色管理界面中的一个角色权限分配按钮2.修改功能点信息3.点击提交期望结果正常跳转到角色功能分配界面,修改功能点信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到角色管理界面。实际结果正常跳转到角色功能分配界面,修改功能点信息后点击提交按钮后正常跳转到数据操作成功界面然后返

46、回到角色管理界面。(4)测试用户管理。表5.12 用户测试案例1用例编号Test12测试目的测试用户管理界面的查看功能是否正常跳转测试步骤选中用户管理界面中的一个用户的查看按钮期望结果正常跳转到用户查看界面,点击饭后按钮后返回到用户管理界面实际结果正常跳转到用户查看界面,点击饭后按钮后返回到用户管理界面表5.13用户测试案例2用例编号Test13测试目的测试用户管理界面的修改功能是否正常跳转及修改操作能否提交测试步骤1. 选中用户管理界面中的一个用户的修改按钮2. 修改用户的信息3. 点击提交期望结果正常跳转到用户修改界面,修改用户信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到用户管

47、理界面。实际结果正常跳转到用户修改界面,修改用户信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到用户管理界面。(5)测试系统性能。记录系统响应时间及点击过程中发生错误的次数。同时在不同电脑上进行多用户登录权限系统。5.4测试结果分析通过对权限系统测试,发现了许多的错误,对照自己的需求分析和源代码,及时地更正了错误,并实现了一些功能。更正完成之后,又重新测试,没有发现问题。当然,还将会发现未测试到的隐含的错误的存在,还需要不断的更正与完善系统。系统主要的三大功能现在已经全部能正常运行和使用,界面操作的数据变更能及时的传送到后台数据库中,系统功能的需求已经基本实现。系统性能良好,在检测的时

48、间内没有出现系统崩溃的现象,响应时间快,在可接受的范围之内。支持多用户同时登陆,由于权限系统不会有太大的访问量,系统能很好的支持。6总结与展望B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外

49、”。本系统通过使用JSP、HTML、JavaScript、JSP、JavaBean、面向对象程序设计、数据库设计等基础知识,设计了这套通用权限管理平台。该系统操作简单,适应性好,易扩展的特点,可以成为后来想更大精细化设计权限管理系统的范例,节省开发人员的时间和精力。结 论本系统是基于RBAC编写的很简单的权限管理系统,实现了基本的用户功能权限的处理,这套系统能很好的对一般用户对系统的访问进行控制,可以保证系统安全稳定的进行运行。有了这个权限管理系统,就可以对系统用户进行逐个赋权,根据具体职能开放具体明确的功能权限供给他们使用。这套系统利用了时下最为流行的网页编程语言JSP,通过JSP的稳定安全

50、特性保证系统的健壮性。同时结合JavaScript脚本语言使系统能够很好的为客户在系统环境中的日常工作进行服务。参 考 文 献1 Jeffrey D.Ullman , Jennifer Widom. 数据库系统基础教程(A FIRST COURSE IN DATABASE SYSTEMS). 北京: 机械工业出版社 20082 Rick Greenwald.Oracle. 高级编程. 北京: 清华大学出版社 20073 陈禹.软件开发工具. 北京: 经济科学出版社 19994 唐友国, 湛洪波. JSP网站开发详解. 北京: 电子工业出版社 20085 (美)Bruce Eckel著 陈昊鹏译

51、. Java编程思想(第4版). 北京:机械工业出版社 2007/66 陈天河. Java数据库高级编程宝典. 北京:电子工业出版社 20057 June. Developing Java Beans. 美国: OReilly & Associates 2007/88(美)Ted Neward著 方小丽译. Effective Enterprise Java中文版. 北京:机械工业出版社 2005/99 (印) Dhrubojyoti Kayal著 张平,龚波,李平芳译. Java EE设计模式:Spring单位级开发最佳实践 北京:人民邮电出版社10易高翔,杨春生,马良俊,魏利军,吴宗之.B

52、/S 模式下基于角色的权限管理系统设计与实现.中国安全生产科学技术11David F Ferraiolo,John F Barkley,D Richard KuhnA Role Based Access Control Model and Reference Implementation Within a Corporate Intranet J J l_ACM Transactionson Information and System Security,1999,2(1):34-3112DFerraiolo,RSandhu,SGavrila,DKuhn,and R Chandramouli

53、Proposed NIST standard for role based access controlJACM Transactions on Information and Systems Security,2001,4(3):224-27413夏榆滨,宣明付基于RBAC的统一权限管理系统研究J微计算机信息,2006,22(93):144-14714邢小永,陈性元等一种基于角色的访问控制扩展模型J微计算机信息,2006,22(113):247-24915丁霞,徐开勇等基于WEB和RBAC的授权管理子系统设计与实现J微计算机信息,2006,22(123):144-147 16 Sandhu,

54、 R., Coyne, E., Feinstein, H., and Youman, C. Role-based access control models J. IEEE Computer 29, 2 (1996), 3847. 17 Sandhu, R., Feraiolo, D., and Kuhn, R. 2000. The NIST model for role-based access control:Towards a unified standard C. In Proceedings of 5th ACM Workshop on Role-Based Access Contr

55、ol (RBAC 00, Berlin, Germany, July 26 - 27). ACM, New York, NY, 4763. 18 Michael P. Gallaher, Brian Kropp, Alan C. OConnor, The Economic Impact of Role-Based Access Control R. NIST Planning Report 02-1 19 Simon, R. and Zurko, M. E. 1997. Separation of duty in role based access control environments C

56、. In Proceedings of the 10th IEEE Workshop on Computer Security Foundations (Rockport, MA, June 10-12). IEEE Computer Society Press, Los Alamitos, CA,183194. 20 Virgil D. Gligor, Serban I. Gavrila, and David Ferraiolo. On the formal definition of separation-of-duty policies and their composition C.

57、In Proceedings of IEEE Symposium on Research in Security and Privacy, pages 172-183, Oakland, CA, May 1998. 21 Ahn, G. -J. AND Sandhu, R. 1999. The RSL99 language for role-based separation of duty constraints C. In Proceedings of 4th ACM Workshop on Role-Based Access Control (RBAC 99, Fairfax, VA, O

58、ct. 28-29). ACM, New York, NY, 4354致 谢在这一学期中,马老师本着对学生负责的态度从一开始就对我们严格要求,时刻督促教育我们要认真对待这一学期最重要的事情,完成毕业设计。也正是有了老师的督促和指导,我才能顺利的完成这个毕业设计。本设计是在老师和同学的精心指导下完成的,从设计的步骤到具体的实现都得到了老师和孔繁良同学的细心的指点,设计每一部分都有我及帮助我的人的认真和努力。在一个学期的时间里,虽然没有上课,但通过这次毕业设计的实际设计实现过程,我学到了更多的实用知识和技能。毕业将至,这次毕业设计过程就是我人生中最重要的一次经历,将指引我我不断的学习和进步。- 29 -

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!