收藏 分销(赏)

java权限管理系统-学位论文.doc

上传人:天**** 文档编号:4665656 上传时间:2024-10-08 格式:DOC 页数:34 大小:1.03MB
下载 相关 举报
java权限管理系统-学位论文.doc_第1页
第1页 / 共34页
java权限管理系统-学位论文.doc_第2页
第2页 / 共34页
java权限管理系统-学位论文.doc_第3页
第3页 / 共34页
java权限管理系统-学位论文.doc_第4页
第4页 / 共34页
java权限管理系统-学位论文.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、毕业设计Java权限管理系统班 级: 学号: 软件学院姓 名: 软件工程学 院: 专 业: 指导教师: Java权限管理系统摘要随着信息技术的快速发展,信息安全已成为人们高度关注的问题,特别是在企事业的信息系统管理中,针对资源共享而引出的访问控制技术也得到了广泛的研究。本课题在对信息系统的权限管理相关理论和方法进行研究的基础上,通过比较几种常见的访问控制方式的优缺点,目前信息系统的权限管理的需求进行分析。本文结合公司的基础技术平台的典型应用需求为背景,初步探索了访问控制的理论、方法以及基本流程,并在此基础上设计了权限管理系统的架构模型,实现了简单的原型系统,给出了系统的应用实例。论文完成的主要

2、工作如下:(1)在访问控制技术理论研究的基础上,本文对权限管理系统的功能进行了详细的需求分析,设计了权限管理的系统架构,对系统的各个功能模块进行了详细设计,分为角色管理,部门管理,用户管理。(2)在 Windows 环境下采用 Java 编程语言实现了权限管理架构的原型系统,并初步对其原理的可行性进行测试,给出了应用实例。该系统可以作为其他信息系统的一个子系统,能辅助管理人员完成系统的安全访问控制。通过对原型系统的实验分析,初步验证了本文所提出的方法以及系统设计方案的有效性和正确性。关键词:权限管理,访问控制,角色,部门,用户 Java permission management system

3、Abstract With the rapid development of information technology, information security has become the peoples attention, especially in the information management system ofenterprise, access control technique for resource sharing and the concept has beenwidely studied. The subject of study in the privil

4、ege management related theory andmethod of information system, the advantages and disadvantages by comparing severalcommon access control mode, analysis and power demand management of theinformation system, the role-based access control technology was modified to make itmore flexible in the role per

5、missions management based on, By comparing severalcommon access control mode, analysis and power demand management of theinformation system, the role-based access control technology was modified to make itmore flexible in the role of authority management. Combining with the typicalapplication requir

6、ements of companys technology platform for the background, thisthesis studied the theories, methods, and the basic process of access control, and on this basis designed the role of authority management system architecture model,implemented a simple prototype system, and some examples of the system a

7、re given.The main contents of this thesis are as follows:(1) On the basis of theoretical study of access control technology, this thesis makesa detailed analysis for privilege management features of the system, design the systemarchitecture of privilege management based on role, and has carried on t

8、he detaileddesign of each functional module of the system.(2) The prototype system of authority management architecture based on the role isimplemented using Java programming language under Windows environment, itsprinciple feasibility was initially tested, and the running examples were also gave. T

9、hissystem can be as a subsystem of other information systems, can assist managers tocomplete the security access control of system.system.Key words: right management,access control,role,department,user华中科技大学目 录 1 绪论11.1课题的背景和意义11.2 国内外发展状况21.3 研究内容及目标21.4 本文结构22 开发方法及关键技术简介32.1 开发工具与运行环境32.2 主要问题及解决

10、手段42.3 关键技术简介42.3.1 JSP技术42.3.2 Oracle数据库技术52.3.3 B/S结构52.3.4 Tomcat技术52.3.5 SSH 框架简介63 总体设计83.1 权限系统概述83.2 权限系统实现的目标83.3 权限管理系统网络体系结构93.4 权限管理系统功能设计103.4.1 系统功能结构图103.4.2 系统功能模块设计103.5 系统登录图113.6 时序图113.7 UML用例图123.8系统数据库设计144 权限管理系统功能实现164.1 安全认证功能164.1.1 系统注册功能的实现164.1.2 系统登录功能的实现164.2 功能权限管理功能17

11、4.3 权限树185 系统开发环境配置206 软件测试256.1软件测试指导思想及目的256.2软件测试过程256.3测试结果267 总结27参 考 文 献28致 谢30第 II 页 共 II 页1 绪论1.1课题的背景和意义20 世纪 90 年代以来,随着计算机与因特网的飞速发展,互联网已经进入了千家万户。人们的生活方式、思维方式、工作方式也随之产生了很大的改变。工作中我们可以通过办公自动化(Office Automation,简称 OA)系统方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,为科学管理和决策服务,从而达到提高行政效率的目的【1】。生活中我们通过社交网站方

12、便了与他人的沟通交流。通过购物网站我们无需外出就可以购买的自己心仪的物品。然而在这么多系统的背后我们都离不开权限管理。什么是权限管理系统呢?例如:张是某某公司人力资源经理,这样我们就可以给张三赋予人力资源经理的角色,人力资源经理的角色又有查看员工、新增员工、删除员工和修改员工信息的权限。这样的话张三就可以进入系统进行这些操作了。权限管理一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。一个不安全的系统管理系统会出现哪些安全隐患呢,我们从以下几点来说明以下,1.缺少 URL 保护 2.授权的不合理或者缺失,用户该拥有的权限没有不该拥有的权限却能看到。3

13、.数据库认证信息不安全。4.个人信息和敏感数据容易获取或者没有经过加密。5.传输层没有经过 SSL 加密。6.SQL 注入。以上漏洞会给黑客可趁之机。很多软件可以轻松通过 URL 侵入、SQL 注入等模式,轻松越权获得未授权数据。甚至对系统数据进行修改、删除,造成巨大损失。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。所以权限管理的重要性是不言而喻的。目前来说权限管理系统是一个重复开发率比较高的模块之一,在很多企业中有不同的应用,每套应用中都需要满足自身的权限管理需要。无论是在数据存储、权限访问、权限控制上都存在着很多特殊的地方。如果我们在这些系统中均采用硬编码方式进行编码的话这样会

14、照成逻辑与业务代码的紧密耦合【2】。1.这样不但会给开发人员照成重复的劳动,维护人员还需要额外的维护多套权限管理系统;2.用户管理、组织机构管理等数据重复维护,导致了数据一致性、完整性得不到保证;3.系统集成比较困难,实现单点登录比较困难给构建企业门户带来困难。本论文就是为了解决以上问题,构建一个通用、完善、安全、易于管理、有良好可移植、可扩展的权限系统,使权限管理系统真正的成为权限控制的中心,在系统安全方面发挥真正的重要的作用。1.2 国内外发展状况在上世纪七十年代,为了满足大型主机共享数据访问的需要,出现了访问控制技术。这一技术随着计算机技术和应用的发展特别网络应用的发展迅速的应用在信息系

15、统的各个领域里面。在这之后出现了多种访问控制理论及实际操作。 目前关于访问控制机制理论主要有以下四种:自主存取控制(Discretionary Access Control,DAC);强制存取控制(Mandatory Access Control,MAC);基于角色的存取控制(Rolebased Access Control,RBAC);使用控制(Usage Control,UCON)。1.3 研究内容及目标本文讨论了权限管理系统的核心面向对象设计模式模型,以及权限访问、权限控制和权限存储机制等关键技术【3】。本论文采用了 SSH(即 Spring + Struts2 +Hibernate)框

16、架来实现 MVC 的设计模式,Struts2 对 Model,View 和 Controller都提供了对应的组件。Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP的容器框架,Hibernate 是一个开放源代码的对象关系映射框架。我们还将使用了ORACLE关系型数据库以及 tomcat 来作为我们得 web 服务器。系统将包括部门管理,用户管理,角色管理等权限管理。我们将实现对系统的机构管理增删改查及密码重置等功能;角色有超级管理员,管理员,普通用户;通过系统可以为不同角色授权,根据用户的登录页面,然后根据不同用户的不同角色进入系统后看到只有自己有该授权的页面。1.4 本文结

17、构本文第一章论述了权限管理系统的开发背景、开发意义及发展现状。第二章论述了权限管理系统的开发方法以及关键技术。第三章论述了权限管理系统概要设计分析,包括系统概述、系统实现目标、系统体系结构、系统的功能设计、系统的数据库设计。第四章对权限管理系统主要功能的实现做了详细阐述,包括系统的功能的实现。第五章系统开发环境配置。第六章软件测试。第七章总结。2 开发方法及关键技术简介2.1 开发工具与运行环境(1)开发工具根据整个系统的开发计划,采用的开发工具是MyEclipse ,结合Dreamweaver最基本的框架搭建,并采用Java语言进行嵌入式开发动态网站。MyEclipse是一个开放的源代码,基

18、于Java可扩张的开发平台,多数人都是将MyEclipse作为Java集成开发环境使用,虽然MyEclipse使用Jave开发,但MyEclipse不仅仅局限于Java开发,还可用于其它语言开发,如C/C+;MyEclipse是一个框架和一组服务,它通过各种插件来构建开发的环境,因此只要提供支持C/C+插件便能进行相应的语言开发。MyEclipse是一个IDE(Integrated Developing Environment),而这个IDE可以允许安装第三方开发的插件来使自身的功能得到扩展和增强,而MyEclipse就是其中一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插

19、件都集合起来,但它是收费的。MyEclipse最早是由IBM开发的,后来IBM将MyEclipse作为一个开发的源代码项目,献给了开源组织MyEclipse.org,但仍由IBM的子公司OTI(主要从事MyEclipse开发的人员继续MyEclipse的开发。MyEclipse为MyEclipse提供一个大量私有和开源Java工具的集合,这解决了各种开源工具不一致的缺点。NitroX是一个繁杂而强大,加速Java Web应用开发的工具,还包含了一个强大且能够编译所有的JSP和Struts Web应用的具AppXray【4】。这些工具解析Java和XML配置文件。MyEclipse实际价值来来自

20、包含的发布包中的大量工具。如CCS/JS/HTML的编辑器,帮助创建EJB和Struts项目的向导并产生了项目的所有主要的组件如action/seesion bean/form等。还包含编辑Hibernate配置的文件和执行SQL语句的工具。(2)运行环境软件环境本系统运行在Windows系列的操作系统上。硬件环境对硬件环境无具体要求。2.2 主要问题及解决手段(1)数据库的连接程序调试运行后将数据库与程序连接时,会出现与数据库连接失败的情况,此时需要为数据库安装一个sq3的补丁,并将安全性里的登录设置为混合登录方式。(2)TOMCAT 6.0端口设置问题在tomcat安装文件夹中有个conf

21、文件,其中有个server.xml文件,有记事本中打开,里面有个port=8080的代码字样,此代码表示默认的端口就是8080,但有时此端口会出现被占用的状况,因此服务器便不能使网站正常运行,此时便要将文件中的端口改成其它值,如:port=8099,然后重启tomcat,便可以运行程序。2.3 关键技术简介2.3.1 JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序

22、的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发

23、需要Java Servlet和JSP配合才能完成【5】。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、有语言因情节是执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只

24、能依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。2.3.2 Oracle数据库技术Oracle 数据库是由来自美国的甲骨文公司的一款关系型数据库管理系统,它是目前来说使用最为广泛的一种数据库之一。作为一个通用数据库来说他具有完整的数据管理功能;做为一个关系型数据库它具备完整的关系产品;他又能为我们实现分布式的处理;另外 oracle 数据库还是一个跨平台的数据库,我们可以在不同的操作系统上使用它。2.3.3 B/S结

25、构B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 MySQL等数据库。浏览器通过Web Server 同数据库进行数据交互。其大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)【6】。B/S结构最大

26、的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。2.3.4 Tomcat技术Tomcat时一个免费开源的Servlet容器,它是Apache基金会Jakarta项目中一个核心项目,由Apache,Sun和其它的一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新Servlet和Jsp规范总能在Tomcat中得到了体现。Tomcat被Ja

27、vaWorld杂志的编辑选为2001年度最具有创新的java产品,可见其在业界的地位。与传统桌面应用程度不同,Tomcat中应用程序是一个WAR(Web Archive)文件。WAR时Sun提出一种Web应用程序的格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件是按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下,有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下,则包含编译好的Servlet类和Jsp或Servl

28、et所依赖其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下lib目录下,当然也可以放到系统CLASSPATH中,但那样移植和管理起来不方便【7】。在Tomcat中,应用程序部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化成为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于F

29、TP,你可以对过Web部署和撤销应用。2.3.5 SSH 框架简介SSH框架是一个集成 spring、hibernate、struts2 的基于J2EE 的WEB框架,是目前使用最为广泛的 Web 应用框架之一。SSH框架可以更好的为我们区分MVC 的分层架构体系。我们可以从四个层面来进行分层:领域模型层(entity)、资源访问层(dao)、业务逻辑层(service)、控制层(action),通过这四层模型可以帮助我们搭建结构清晰的、可复用性强的、方便维护的WEB应用程序。Struts2 框架作为WEB控制层层,负责从客户端接受request 请求,然后通过业务逻辑层的处理响应给客户端;H

30、ibernate 是一个开源的对象关系映射框架,它对 JDBC 进行了非常轻量级的封装,我们可以使用它方便的通过对对象的操作实现对数据库的操控;Spring 是一个轻量级的提供了依赖注入功能和面向切面编程功能的容器框架,我们通过 Spring 的控制反转技术降低了对象之间的耦合度,通过 spring 提供的面向切面编程技术可以很简单的对事务、日志等一些特殊功能进行处理,spring 还为我们提供了对一些开源技术集成接口,而且为我们提供了很多工具类来简易我们的开发过程【8】。通过 SSH 框架的使用不仅能够帮助我们实现领域模型层、资源访问层、业务逻辑层、控制层的分离降低了各层之间的耦合度,而且极

31、大的简化了我们的开发使我们能够花更多的时间来关注业务的处理。3 总体设计3.1 权限系统概述在 web 应用系统中,用户的安全认证、权限管理模块作为系统的重要组成部分,是一个安全的信息系统中不可或缺的一部分。用户的安全认证主要是用来保证登录者的身份,防止用户密码泄漏。权限管理的基本目标为了防止非法用户进入系统;合法用户对系统资源非法使用。用户的安全认证、权限管理作为现代信息系统中重用性最高模块之一,并且也是重复开发率最高的模块。因此作为一个权限管理系统平台,它应当尽可能的实现与业务的分离方便的集成其他的系统模块,还应当最大化的提供一些公共方法的支持与扩展来防止我们重复的开发。以下我们将在用户安

32、全认证方面采取一定的安全措施保证用户身份的安全;在权限管理系统方面采用功能级权限和数据级权限两种方式来更加细粒度的进行权限控制。3.2 权限系统实现的目标首先权限管理系统平台作为一个平台我们将选用主流技术,通过对框架的封装来提供一些常用公共方法【9】。使系统开发过程中更加快捷方便。对权限管理方面我们通过两种权限控制方式,第一种是功能权限控制,功能权限控制是采用了基于角色的访问控制(RoleBased Access Control, RBAC)并扩展了资源管理部分,基于角色的访问控制是目前比较成熟、应用比较广泛的统一资源访问控制方法,其核心内容包括用户、角色和资源三部分。我们设计过程就采用 RB

33、AC 参考模型作为设计理论基础,通过在用户和权限之间增加角色的概念,不同角色具有不同的操作集,这些操作又由系统管理员分配给角色,对用户进行角色授权可以实现一个用户拥有一个或多个角色,实现了授权的灵活性。第二种是数据级权限控制,数据级权限控制是指用户对使用的系统的具体数据进行的权限控制,主要包括数据的查询权限、数据的修改权限、数据的删除权限、数据的创建权限、数据的管理员权限,它类似于我们 window 系统中的文件的权限管理。综上所述,我们在通用权限系统实现目标有如下几点: (1) 提供一套可以快速开发的系统平台。 (2) 基于安全认证系统登录入口,一个通用的系统登录页面实现,用户根据自己用户名

34、密码实现对系统登录。登录成功进入系统默认成功页面,失败提示失败信息。 (3) 功能权限的实现,包括对用户表、角色表、权限表的新增、修改、删除、查询、用户分配角色、角色分配权限的实现;系统登录成功后根据用户角色决定网页访问权限,显示操作菜单或按钮;对地址栏 url 进行控制,若为非法的 url 进行提示无此授权信息。(4) 数据分配权限一个功能的实现。主要为不同的用户分配不同的角色,通过给角色设置权限进而使用户获得权限。3.3 权限管理系统网络体系结构 图3-1 网络体系结构图如图 31 所示,我们权限管理系统体系将采用的是 B/S 结构,B/S 结构即Browser/Servr结构。在 B/S

35、 结构下,用户界面都是通过浏览器来进行展示的,我们可以通过浏览器技术结合浏览器的多种 Script 语言和 ActiveX技术来处理一部分业务逻辑,这样可以帮助我们承担一部分服务器端压力,节约了开发的成本。近年来随着浏览器技术的迅速发展,B/S 结构逐渐取代了 C/S 结构成为应用系统首选体系结构。 Web 服务器部署权限管理系统的服务端程序,即 Servlet 的可执行程序包,负责响应客户端工作站的请求,并根据请求内容和其他的服务器通讯获得执行结果并返还客户端工作站。 客户端工作站是本系统的终端用户操作台,用户可以使用工作站上提供的浏览器来使用本系统提供的各种功能。3.4 权限管理系统功能设

36、计3.4.1 系统功能结构图图3-2 系统功能结构图图 32 为我们展示系统功能结构,通过该图我们可以直观的描述系统所具备的功能,它可以把一个系统模块化,为详细设计提供了极大的便利条件,便于模块化程序设计。3.4.2 系统功能模块设计系统功能模块设计是我们根据现有需求基础上做出的模块化的系统设计,为我们后续的功能实现提供依据。通过 3.4.1 中的系统功能结构图我们可以看到安全认证功能为系统提供了登录功能。系统用户根据用户名密码可以登录到系统,登录时我们通过对 cookie 的处理提供记住密码的功能。 功能权限为我们提供用户管理模块、角色管理模块、部门管理模块三个功能模块。 (1) 用户管理模

37、块 该模块主要为系统提供用户管理功能,包括新增用户、修改用户、删除用户、用户权限、查询用户。 (2) 角色管理模块 该模块主要为系统提供角色管理功能,包括新增角色、修改角色、删除角色、角色权限。 (4) 部门管理模块该模块主要为系统提供部门管理功能,包括新增部门、修改部门、删除部门、查看部门。该模块还可以为新增部门新增上级部门,可以查看上下级部门。3.5 系统登录图图3-3 系统登录图3.6 时序图图3-4为时序图,是一种交互图.用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。图3-4 时序图3.7 UML用例图图3-5,3-6,3-7为用例图(User Cas

38、e),是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是UML对用例的正式定义,对我们初学者可能有点难懂。我们可以这样去理解,用例是参与者想要系统做的事

39、情。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。图3-5 角色管理用例图图3-6 部门管理用例图图3-7 用户管理用例图3.8系统数据库设计数据库是实现系统的基础,也是系统开发实现的关键所在。数据库设计要根据用户的需求,设计出合理的数据库结构并建立相应数据库及其应用系统,在进行系统设计时要综合全面地考虑系统在进行访问时的要求【10】。数据库结构设计的优劣对系统整个开发周期及系统整体性能会产生直接影响,并对系统软件的实际应用效率、完成的性能指标和实现的预期效果也会产生影响,合理、有效的数据库结构模式不但可以优化

40、内部组织,还可以提高数据存取的效率和时间,保证数据的高度完整、安全和一致。 一般来说,数据库的设计过程大致可分为六个步骤:需求分析、概念设计、逻辑设计、物理设计、数据库实施、运行与维护。在设计过程中需要把数据库设计和对数据库中数据处理的设计紧密结合起来,这样数据库结构设计的不同阶段就会形成数据库的多种模式,将这两个方面的需求进行分析、设计、抽象、实现在各个阶段同时进行,相互补充,以此完善设计,充分满足应用系统的需求,同时使系统开发工作更便捷,管理和维护更容易。图3-8,3-9为数据库设计的类图(Class diagram),是由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素

41、和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图最基本的元素是类或者接口。图3-8 实体类图图3-9 类图4 权限管理系统功能实现通过对系统的具体需求分析、功能的概要设计、数据库设计的一系列工作的就绪,下面我们就要对系统的各个功能点来进行详细的设计实现了。以下我们通过对系统目录结构和功能实现来进行一一描述。系统划分为三个功能模块:安全认证、功能权限、数据权限。4.1 安全认证功能安全认证为我们提供了用户注册、系统登录、安全证书三个功能实现。 (1) 用户注册

42、 用户注册后可以为用户提供一些特有权限。注册时我们可以采用对用户密码的复杂度校验、对密码的加密等方式确保用户密码的安全性。 (2) 系统登录 系统用户根据用户名密码可以登录到系统,登录时我们通过对 cookie 的处理提供记住密码的功能。4.1.1 系统注册功能的实现 系统注册主要是为用户基本的注册功能,在注册页面中会为用户提供一些特定角色,用户选择某些角色后,用户才能够获得访问一些资源的权限。功能流程通过浏览器输入地址 http:/localhost:8888/Permission 进入到用户的注册页面。注册用户注册成功后就可以通过系统登录页面进行系统登录了。4.1.2 系统登录功能的实现通

43、过浏览器输入地址 http:/localhost:8888/Permission我们能够进入系统登录页面如图 41 所示,输入正确用户名密码我们就能够进入到系统首页面,当用户名或者密码错误的时候系统会给出登录失败的提示。登录页面为系统提供了 记住密码功能。当我们勾选上它时,系统会默认将用户名密码存入 cookie 中,因此当我们下次无需登录直接就可以进入该用户所授权了的页面。图4-1 系统登录页面4.2 功能权限管理功能功能权限为我们提供用户模块、角色管理模块、部门管理模块三个功能模块,系统内部还提供了授权的控制。 (1) 用户管理模块 该模块主要为系统提供用户管理功能,包括新增用户、修改用户

44、、删除用户、用户权限、查询用户。 (2) 角色管理模块 该模块主要为系统提供角色管理功能,包括新增角色、修改角色、删除角色、角色权限。 该模块可实现对不同创建角色实现分配权限的功能,当创建用户并分配角色时,该用户获得该角色的所有权限,并且在主页面上显示出来,让我们可以更清晰的看到权限的分配功能。(3) 部门管理模块 该模块主要为系统提供部门管理功能,包括新增部门、修改部门、删除部门和查看部门。 该模块在创建部门时可以为部门新增上级部门,并在查看部门时能看到上下级部门。 图4-2 角色管理功能权限模块图4-3 部门管理功能权限模块图4-4 用户管理功能权限模块4.3 权限树为角色设置权限时需要用

45、到树形结构的权限树,如图4-5。图4-5 权限树在权限设置页面的操作列下包含“”、“”两种图标,“”代表当前用户角色不含有该权限;“”代表当前角色含有该权限。我们可以给角色进行分配权限,选中权限,如果选中的权限操作列下为“”图标,双击“”图标,当前角色将会被赋予当前权限,操作列下的图标将变为“”图标;如果选中的权限操作列下为“”图标,双击“”图标,当前角色将会将当前角色下的当前权限撤销,操作列下的图标将变为“”图标。5 系统开发环境配置本系统采用Struts2+Spring+Hibernate的架构进行系统开发。其中Struts2按照MVC的分层方式把系统分为action层、service层、

46、dao层。如图5-1所示,本系统中的cn.itcast.oa.view.action包中封装了action层的控制器类;cn.itcast.oa.dao包中封装了dao层的数据连接相关的类;cn.itcast.oa.service包中封装了系统中核心业务处理的相关类。cn.itcast.oa.domain包中是从数据库表中映射来的实体类和Hibernate的实体类的映射文件,config中包含了Struts2+Spring+Hibernate的配置文件,而webRoot下视图层的Jsp,js,css,等可视化界面【11】。图5-1 系统包结构Config中包含的applicationContext.xml文件都是与spring相关的配置文件,如数据库连接配置,依赖注入配置,注解配置等。beanid=sessionFactoryclass=org.spr

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服