基于shiro的权限管理系统设计和实现_毕业设计(24页).doc
-
资源ID:37162732
资源大小:243.50KB
全文页数:23页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于shiro的权限管理系统设计和实现_毕业设计(24页).doc
-基于shiro的权限管理系统设计和实现_毕业设计-第 - 18 - 页摘 要随着经济社会的发展和信息科学技术的不断进步,信息的处理量越来越大,也越来越繁杂,于是计算机技术被广泛的应用到社会的各个领域之中。但随着最近一些比较严重的信息系统泄密事件的发生,使用者意识到了信息系统安全的重要性,如何保护信息的安全成为使用者最关心的问题。这里我们从系统设计实现的角度进行处理,在用户对系统数据进行访问前,先通过基于RBAC的权限管理系统的验证,确定用户拥有的角色,根据用户角色的权限再向用户展示数据信息,从而实现保护系统信息的目的。该系统依托现在流行的JSP语言,通过MySQL数据库的数据处理,开发出通用权限管理系统来对用户身份权限信息进行验证。这套系统具有权限分配简单、扩展性好的优点,并且支持岗位、权限多变的各种需求。作为信息系统的附属系统,该系统很好的实现了用户与页面功能数据的整合和分离,还增添了信息管理等附带功能。实践证明,基于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 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 users care most about. Here, a detailed analysis of the design from the viewpoint of the system's 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 can 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 system 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. Practices 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;Role目录摘 要IABSTRACTII1 前言- 1 -1.1 项目背景- 1 -1.2 目的及意义- 1 -1.3 B/S开发模式的优点- 2 -2 需求分析- 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.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 前言随着计算机和网络信息技术的高速发展,网络信息的安全成为越来越大的问题,而访问控制技术是实现系统信息安全的重要手段。随着现在系统普遍面向用户数大,处理数据量大,功能日益复杂的现状,如果还继续使用ABAC的访问控制模式将会使权限管理的实现变的相当繁琐和复杂。于是人们设计了多种用来控制用户权限的系统模型,来确保敏感的数据信息只有拥有相应权限的人才可能看得到。通过实践,基于角色的权限控制(RoleBased Access Control,RBAC)模型由于其简单方便易于维护的特点得到了越来越广泛的认同,被广泛应用在各种网络信息系统和大型MIS系统中。1.1 项目背景在20世纪90年代发展并日臻完善的基于角色的访问控制(RBAC,Role-Based Access Control)是一种管理和增强系统安全性的技术。这种访问控制通过引入“角色”这一中介量,从而实现了用户和访问许可的逻辑分离,极大地方便了权限管理。JSP技术是现在流行的网络系统开发技术,因其具有跨平台的适应能力而被众多设计者所采用。当Web服务器接收到访问JSP网页的请求时,首先执行网页的程序段,然后将执行结果返回给客户。Java程序段可以对数据库数据进行操作,也可以返回或者前进到另外一个界面。JSP与Java Servlet相似,所有数据处理均在服务器端进行,用户只需要用浏览器接收服务器反馈的信息即可。JSP技术的基础是Java Servlet,应用程序的开发需要同时拥有Java Servlet和JSP。JSP继承了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠的所有特点。JSP可用等式表示为:HTML+Java=JSP。1.2 目的及意义随着信息网络技术的在社会各个领域的广泛应用,如何防止敏感数据信息的泄露成为系统使用者最关心的问题。同时,为了保证系统的安全稳定的运行,使员工只能对自己拥有权限的数据进行操作和处理,其他的都不能查看以及操作,就需要在系统中根据每个人的职能为其分配相应的权限。基于RABC的权限管理平台因其简单、方便快捷的权限处理机制,很好的解决了数据泄密以及功能权限的问题。通过建立权限管理系统,可以保证每个员工只能根据自己的本职工作对系统数据进行限制性操作,防止信息泄露篡改问题的发生,为使系统更好的方便日常工作提供有效的安全保障。同时因为有了授权机制,也可以防范无关人员对服务器进行非法操作,保证系统安全稳定的运行。针对基于RABC的权限管理系统的设计理念,我从实际需求和能力出发,设计并实现了这个权限管理系统,它具有自适应性强、通用性好的特点,可以很好的减少权限管理系统的维护工作,提高权限管理系统的通用性,并且能够避免权限管理系统的重复开发问题。系统着重关注了用户与访问许可实现逻辑分离的过程,可以作为大家认识了解和学习RBAC技术的一个范例。1.3 B/S开发模式的优点B/S结构就是只安装维护服务器,将系统布置到服务器中,客户端采用浏览器来运行软件,即浏览器/服务器结构。相对于C/S结构,B/S有很明显优点和长处。(1)维护工作量大大减少。如果系统 需要进行维护,B/S结构只需要维护部署在服务器上的程序即可,而C/S结构系统维护时,除需要维护服务器上的程序外,还需要额外升级客户端程序。(2)B/S结构开发的程序具有很强的适应性。B/S结构实行的是3层数据处理,用户只是通过浏览器接受经过服务器计算完成之后的数据,及时用户电脑配置很低也能胜任。但是C/S结构实行的是2层数据处理,数据还需要到用户客户端进行计算处理,这增加了客户端的软硬件负担。(3)B/S结构开发的系统数据一致性好。B/S结构系统数据实行集中存在,不同用户查看统一信息是完全一致的。C/S结构系统由于数据存放与客户端中,数据会有一定的不一致现象出现。(4)B/S结构系统数据具有很好的实时性。C/S结构系统看到的数据都是客户端上传到服务器的数据,B/S系统因为其数据就在服务器中,所以B/S系统看到的都是系统的实时数据,能为决策者提供实时准确的参考。(5)B/S结构系统具有很好的数据安全性。C/S结构软件由于其数据分布的特性,因客户端本身或者外部环境而发生的数据损毁时常发生,使之保证数据安全的性能大大降低。而B/S结构的系统由于其数据直接存放于服务器中,不存在与客户端进行数据交换的行为,从而会极大的提高数据的安全性。2 需求分析2.1 系统概述随着计算机和网络信息技术不断发展,网络信息技术在各个领域的成功的应用结果让单位信息化的需求越来越强,使得单位越来越注重自己的信息化建设,网络办公及单位内部的信息处理已经成为众多单位尤其是网络公司的工作模式。在单位进行信息化建设过程中,单位的敏感信息安全成为了其中的一个重要问题,因此,信息系统的安全成为单位信息化过程中所要处理解决的首要问题之一。权限管理系统的设计目的在于利用计算机编程技术,构建一个依附于信息系统的安全可靠的权限管理平台,保证单位敏感信息的不被不适宜的人获取、篡改以及删除,保护数据的保密性、一致性、完整性。该系统应有如下几大功能模块:用户信息管理,角色信息管理,功能基本信息管理,角色分配管理和权限分配管理。系统首先建立管理员用户和一般用户信息,通过对用户进行角色分配,再通过对角色进行权限的分配,来实现系统对用户的权限控制。现在多数单位的信息管理系统的安全授权比较复杂,包含众多的业务实体和事物处理应用,每个部门中同一职位的员工因职能范围或地域的不同而具有的权限也不尽相同,有时甚至对同一个用户,或许由于在不同的业务中,也会有不同的权限,这种现象反映在信息系统中就是个体的权限和具体资源的对应关系,为了使得权限系统更加灵活、便捷,本设计采用RBAC 授权模型,可以用来有效减轻系统权限的管理难度和操作的复杂度。根据信息系统的需要,权限系统中设置了超级管理员,通过超级管理员来进入权限管理系统,对其余的普通的用户进行赋权。2.2 系统功能需求分析基于一般信息系统对权限管理的要求,我们采用了基于角色的访问控制模型进行设计。系统按照RBAC模型可为功能管理、角色管理、用户管理等三大模块。2.2.1 用户管理用户信息是权限系统的基础信息,是系统控制的主体资源,用户直接关联角色信息,如果没有用户或者角色信息,系统就会拒绝用户的登录及其对系统信息的访问操作,用户的信息管理是权限系统首先要处理的问题。用户管理的需满足如下需求:(1)可以添加新的用户;(2)能查看所有用户信息;(3)删除已有用户信息;(4)查看用户所具有的角色及权限;(5)修改用户信息;(6)对用户赋予相应角色。2.2.2 角色管理角色管理是RBAC系统中的重要一部分,它是用户的和权限之间的纽带,一个角色会有多个用户,角色对应一定的功能权限菜单,即具体的权限。当用户拥有正确的角色,并且角色设置了正确的权限,用户才能对系统进行访问和操作。用户角色管理的需求描述如下:(1)可以查看系统中拥有的所有角色信息;(2)可查看具体某一角色的名称、描述以及角色权限;(3)可修改、删除角色信息;(4)可修改角色的权限分配。2.2.3 功能管理该模块里是设置并定义权限管理系统所管理系统的菜单信息(即功能权限信息),将系统的功能菜单路径信息输入到权限系统中,通过对角色赋予功能菜单的权限实现用户权限管理的目的。2.3 UML 建模在权限管理系统中用户有两类:一种是管理员用户,另一种就是一般用户。由于本权限管理系统设计简单,这时里只给用户功能用例图。2.3.1 管理员用户的用例关系图权限系统管理员用户是权限系统中拥有最高权限的用户,它的主要的操作就是对系统中的用户信息、角色信息及功能信息进行管理,管理员用户一般不会参与到信息系统的具体业务中,它是一个只对应权限系统的特殊用户。权限系统管理员具体的操作权限有:增加用户、查询用户、删除用户、为用户授予角色、删除用户角色、查看用户角色、查看用户权限、增加角色、删除角色、查看角色、给角色授予权限和查看角色权限等功能。管理员对一般用户进行了相应的权限设置,一般用户才能登录到信息系统中进行数据的查看和处理。 图2.1 管理员用户的用例关系图2.3.2 一般用户的用例关系图一般用户的权限比较管理员要小的多,最主要的一般是角色的不同,管理员拥有系统管理角色,一般用户往往是其他的角色,具体权限需要管理对其进行设定。在本系统中设定只有超级管理员用户可以登录权限系统,一般用户会提示没有权限。假设一般用户能登录权限系统,那么其在权限管理系统中的权限一般只能查看其自己的一些用户信息,角色信息,已经权限信息等,不能操作更改信息。图2.2 一般用户的用例关系图2.4 系统性能分析2.4.1 安全性需求分析构建一个成功的权限管理系统首先应该了解需要控制的系统的所有功能菜单信息,只有完整并且准确的获取到菜单功能信息,才能对角色赋予相应的权限,才能使权限系统与信息系统科学合理的进行匹配。(1)权限系统控制要点权限系统控制要点有:信息资源、用户、单位的机构设置、具体岗位、业务角色、具体任务、业务流程以及业务规则等。(2)访问控制的特点在信息系统中,访问控制系统要具有很好的适应性以满足动态的或者特定用户的安全需求。因此我们需要深入了解并分析系统访问控制的特点。1)用户特点信息系统的使用户数量繁杂,用户工作岗位变化也很频繁,如调进、调出、新进、辞职等。同时若新业务的增加也会使得用户的工作内容频繁变化。用户的不确定性是单位规模增大和业务增加的必然结果。2)信息资源特点现在系统普遍面临系统数据量大的特点,如何正确分类整理并确定其信息安全等级成为设计者必须要考虑的问题。3)单位的机构设置特点现在各个单位的机构设置都不尽相同,而且类型复杂,各个单位的机构设置都有其自己的特点、大型单位还存在地域上分布式的特点。5)任务特点单位环境中,具体任务的数量多并且种类复杂,因此,为了满足单位对访问控制的安全性需求,一般采用扩展性好、灵活性高的RBAC访问控制模型。根据具体任务涉及到的系统菜单等信息,需要对用户角色进行及时的赋权更新操作。2.4.2 稳定性需求分析软件系统的稳定性是决定软件系统好坏的一个重要因素。一套系统在持续操作时间内出错的概率就是指软件的稳定性,例如统计一天之内系统出错的次数。软件的稳定性需要从设计角度出发,依靠经验丰富的开发人员,通过合理划分系统模块,科学设计每个模块之间的关系,使用稳定的系统框架,来使系统即使更改部分代码,其对软件系统的影响也会将到最低。如果一个系统报错的概率比较大(一天内出错两次或更多次),或者需要重启(一天内出错两次或更多次)才能正常运行,这就表明系统的稳定比较差。不稳定的系统会给使用单位带来巨大的麻烦,如系统数据不及时、不准确、系统经常瘫痪、业务无法正常运作等问题。导致系统稳定性差的原因主要是系统的并发数太多或者系统容错能力差。本权限管理系统由于使用者大多只是管理员,并发数应该不会太多,主要精力还是放在提高系统的容错能力上。3 概要设计3.1 总体设计通过超级管理员用户登录系统后,会进入系统主页面,页面上主要的功能有:功能管理,角色管理,用户管理,系统属性,信息管理模块。功能管理主要是对信息系统的功能菜单信息进行维护,包括“添加,删除,修改”操作。角色管理主要对用户的角色信息进行维护,包括“添加,查看,删除,修改,权限分配”操作。用户管理主要用管理信息系统用户的信息,包括“添加,查看,修改,删除”操作。系统属性主要用于显示当前系统的一些信息。用户管理是本论文重点,这里所说的用户管理就是权限管理。在权限管理中,包括信息管理设置了一些额外的信息显示功能。在这系统功能中,用户管理师最主要的功能。用户信息的增加,删除,修改,以及具体用户角色的分配,具体权限的查看都可以在此进行操作和查看。此时,管理员可以对其进行权限的修改。3.2.1 模块划分进入系统主页面,系统主要的功能有:功能管理,角色管理,用户管理,以及权限分配管理。如图所示:图 0.1 模块划分3.2.2 模块设计1) 用户管理在系统首页,用户输入用户名密码后,由JSP控制器接收,然后和后台数据库中的用户数据进行比较,验证成功则进入操作主页面。在权限管理主界面如果管理员用户需要对某个用户进行操作,需要首先对数据库中的用户信息进行搜索,然后再对检索出的用户数据进行修改或者删除。在用户管理界面上管理员用户可以直接进行添加用户账户操作。图 0.2 账户管理时序图2) 权限管理权限管理存在于角色管理模块下,根据用户关联角色,角色关联具体权限的设计思路,因此用户点击角色管理进入角色管理模块进行操作。权限管理过程简述为:根据获取的用户信息,首先检索用户的角色信息,在根据检索出的角色信息,控制器通过查询数据库后返回所选用户的所有权限信息。这时管理员就可以查看的用户权限信息,同时也可以对该用户的权限信息进行重新设置。拓展:权限组管理。现在权限管理系统很多设计到了权限组的概念,主要是对用户、角色的进一步整合。可设计为用户点击权限组管理进入权限组管理模块,系统会显示所有权限组,用户可以对所选权限组进行修改和删除操作,也可以增加权限组。本系统中没有涉及到权限组的设计。图 0.3 权限管理时序图3) 重置及修改密码重置密码,用户进入重置密码页面,输入要重置密码的用户账号后,点击确认,控制器就会用初始密码替换掉数据库中的当前密码,最后会在页面中显示初始密码。修改密码,用户进入用户信息修改页面,输入新密码后,点击提交,控制器就会对数据库进行操作,将当前密码替换成新密码。图 0.4 密码管理时序图3.3 模块设计3.3.1权限管理模块1) 权限管理业务逻辑类设计RightModifyBusiness类是权限修改业务逻辑类,主要是针对权限修改控制器发出修改权限消息,然后权限修改逻辑类相应,并通过JDBC修改数据库信息。他们之间通过Session传递消息,消息的内容存放在Form里,通过UserForm类接收和存储消息。UserForm是ActionForm子类,同时把String类作为自己的私有属性,主要是用于存储各种信息。JvDBO是JDBC连接的主要类,主要用于数据库的连接操作,同时将连接的Connection返回,供RightModifyBusiness使用。图 0.5 权限修改类图2) 权限管理控制器类设计图 0.6 权限显示类图权限管理控制器类,用于接收网页(JSP)传来的消息,然后通过调用业务逻辑类进行数据处理,然后根据处理后的情况跳转的不同的页面。这样可以实现复杂的业务逻辑。控制器类是Action的子类,其可以接收网页(JSP)传来的Form表单的数据,同时利用Session进行保存和消息的传递。其依赖的类包括UserForm(进行数据的存储和传递),JvUser(权限操作对象),ActionMapping(主要用于页面的跳转)。在JvDBO类中还把Logger日志类作为自己的私有属性,所以在进行数据操作时,系统会记录相关的操作信息,方便管理员进行维护。3.3.2 用户密码修改模块1) 用户密码修改业务逻辑类设计密码操作管理模块涉及密码的修改,重置。这里只针对密码修改模块进行介绍。密码重置的原理和密码修改的原理大同小异,都是对数据库进行相关的操作。PasswordModifyBusiness密码修改业务逻辑主要是为密码修改控制器模块服务的。当密码修改业务逻辑收到控制器类的消息时,当然传递消息的渠道还是Session,载体依然是ActionForm。此时,业务逻辑类会提取Session中的数据跟据控制器的指令进行相关的数据库操作。在数据库操作之前,业务逻辑会进行数据库的连接和认证。图 0.7 密码修改业务逻辑图2) 用户密码修改控制器类设计密码修改控制器类,是JSP 网页编程中MVC模块中的control,模块,即控制器模块,主要功能是通过页面传送的消息和指令,通过复杂的后台业务逻辑处理,然后根据处理后的结果,进行相关的页面跳转。所以不同的结果会跳转的同一个页面或者不同的页面,这个完全取决于系统的设定。密码修改控制器收到网页表单里德数据后,会把数据存储在PasswordForm类中,然后通过Session类把数据传送给业务逻辑类进行相关的业务处理,并接收业务逻辑类处理后的结果,根据结果进行页面跳转操作。图 0.8 密码修改控制器类图3.3.3 用户账户管理模块1) 用户账户管理Bean类设计用户bean把用户的数据变量声明为私有属性,通过界面的set和get函数获取,然后提交到actionform表单中,再通过后台数据库进行匹配或者处理操作。图 0.9 用户Bean类图2) 用户账户管理Form类设计ActionForm用于封装用户的请求参数,而请求参数是通过JSP页面的表单域传递过来的。可以把Form理解为JavaBean的一种形式,Form主要是当用户把网页里德表单填好后,点击提交按钮,然后网页会把表单里的数据通过Session或Url传送给后台,此时后台会利用ActionForm类进行数据的接收操作。此时ActionForm类的任务就完成了。图 0.10 用户账户管理Form类图3) 用户账户管理业务逻辑类设计用户账户管理模块,包括用户账户的增加,修改,删除,和现实模块,这里仅以用户账户删除模块进行介绍。其他的模块类结构和本模块结构相同,只是操作上存在差异。用户删除业务逻辑类把日志类Logger加入到了自己的私有属性之中,主要是用于记录管理员在对用户账户进行的一系列操作。方便日后的维护和系统的安全。用户账户操作,依赖于用户类JvUser和用户表单类UserForm。其在接收到用户账户控制器类传来的消息后,会调用JvDBO类进行JDBC连接和数据库操作。实现JSP后台的复杂业务逻辑。图 0.11 用户账户删除业务逻辑类图3.4 数据结构设计权限系统所涉及的数据库表有如下几张:表 3.1 数据库表名清单中文表名 英文表名 表功能说明用户信息表 s_userinfo 记录用户相关信息系统功能表 s_menu 记录系统功能信息角色信息表 s_role 记录角色信息权限信息表 s_rolemenu 记录角色权限信息3.4.1 用户信息表表 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 ulogintime 登录时间 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 角色菜单表表 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 系统架构想进入本权限管理系统,首先需要在系统首页界面中输入正确的管理员用户和密码,经过与后台数据库中的数据进行对比,如果验证通过,则进入到系统操作界面。本系统界面的主要功能有基本操作、信息管理和系统管理三大主要功能。基本操作里只是显示了系统部署环境的一些信息。信息管理师这个系统拓展的一个功能部分,在这里可以展示进入系统的管理员可能需要了解的信息,例如系统公告、重要社会新闻信息等。系统管理是本系统的核心功能区,里面分为功能管理、角色管理和用户管理三部分。功能管理里需要定义信息系统的各项功能路径、功能信息。角色管理主要定义的是用户关联到的角色信息,以及具体角色关联的功能路径(即角色关联的具体权限信息)。用户管理主要定义了用户的基本信息,以及用户关联的角色信息,也可以直接查询到该用户的权限。图4.2 系统构架图4.3访问控制设计访问控制是通过Servlet和JSP语言,将数据库中的user信息表关联到role角色信息表,而在角色信息表又与功能表关联,形成RABC的访问控制模式,从而实现用户权限的管理功能。5系统测试5.1 测试目的通过测试系统的主要功能,来使系统最大限度的满足用户的需求,及时发现系统中存在的bug问题缺陷以便进行修改,验证系统的稳定性。5.2 测试内容5.2.1 功能测试(1)系统登录。验证管理员用户和非管理员用户登录系统的差异,验证账号密码的匹配是否正确。(2)功能管理。验证功能管理能否正常的添加、删除、修改功能信息。(3)角色管理。验证角色管理能否正常的添加、删除、查看、修改角色信息,以及能否正常的给角色分配权限。(4)用户管理。验证用户信息能否正常的进行添加、删除、修改、查看操作。在修改界面中,修改位置的信息是否正常显示和是否能正常修改。5.2.2 性能测试测试测试主要测试系统的响应时间,界面数据的变更与数据库信息的变更是否一致。测试多个用户同时对系统并发操作时系统的性能。5.2 测试用例(1) 测试系统用户登录表5.1 登录测试案例1用例编号Test01测试目的测试登录失败时能否返回相应错误信息测试步骤输入不存在或者错误的用户名及密码期望结果返回错误信息“用户名或密码出错!”,并返回重新输入实际结果返回错误信息“用户名或密码出错!”,并返回表5.2 登录测试案例2用例编号Test02测试目的测试登录成功系统进入主界面测试步骤1.输入正确的用户名2.输入正确的密码,点击登录按钮期望结果系统进入主界面实际结果系统进入主界面(2)测试功能管理。点击功能管理能否正常跳转到功能管理界面。在功能管理界面,能否在操作工具栏中进行修改删除操作。点击修改是否能跳转到修改界面中。修改后的内容能否保存到数据库中,是否有效。点击删除是否有确认提示,删除操作是否有效。表5.3 功能测试案例1用例编号Test03测试目的测试功能管理界面是否正常显示测试步骤点击功能管理界面期望结果正常跳转到功能管理界面实际结果正常跳转到功能管理界面表5.4 功能测试案例2用例编号Test04测试目的测试功能管理界面的修改功能是否正常跳转测试步骤点击功能管理界面中的修改按钮期望结果正常跳转到功能修改界面实际结果正常跳转到功能修改界面表5.5 功能测试案例3用例编号Test05测试目的测试功能修改内容是否提交成功测试步骤1.修改功能名称2.父节点标志3.修改功能url4.修改排序号5点击提交按钮期望结果正常跳转到数据操作成功界面,并跳转到功能管理界面实际结果正常跳转到数据操作成功界面,并跳转到功能管理界面表5.6 功能测试案例4用例编号Test06测试目的测试功能修改内容能否正常重置成功测试步骤1.修改功能名称2.父节点标志3.修改功能url4.修改排序号5点击重置按钮期望结果清除修改操作,显示默认值实际结果清除修改操作,显示默认值表5.7 功能测试案例5用例编号Test07测试目的测试功能管理界面的删除功能是否正常跳转测试步骤选中功能管理界面中的一个功能删除按钮期望结果正常弹出确认界面,点击确认后功能删除,点击取消操作取消实际结果正常弹出确认界面,点击确认后功能删除,点击取消操作取消(2) 测试角色管理。表5.8角色测试案例1用例编号Test08测试目的测试角色管理界面的查看功能是否正常跳转测试步骤选中角色管理界面中的一个角色的查看按钮期望结果正常跳转到用户查看界面,点击返回按钮后正常返回到角色管理界面实际结果正常跳转到用户查看界面,点击返回按钮后正常返回到角色管理界面表5.9角色测试案例2用例编号Test09测试目的测试角色管理界面的修改功能是否正常跳转及进行修改提交操作测试步骤1. 选中角色管理界面中的一个角色的修改按钮2. 修改角色名称3. 修改角色描述4. 点击提交期望结果正常跳转到用户修改界面,修改信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到角色管理界面。实际结果正常跳转到用户修改界面,修改信息后点击提交按钮后正常跳转到数据操作成功界面然后返回到角色管理界面。表5.10角色测试案例3用例编号Test10测试目的测试角色管理界面的修改功能是否正常跳转及进行修改重置操作测试步骤1.选中角色管理界面中的一个角色的修改按钮2.修改角色名称3.修改角色描述4.点击重置期望结果被修改的信息被重置到系统默认值实际结果被修改的信息被重置到系统默认值表5.11角色测试案例3用例编号Test11测试目的测试角色管理界面的权限分配功能是否正常跳转及进行提交修改操作测试步骤1