java权限管理系统-学位论文.doc
《java权限管理系统-学位论文.doc》由会员分享,可在线阅读,更多相关《java权限管理系统-学位论文.doc(34页珍藏版)》请在咨信网上搜索。
毕业设计 Java权限管理系统 班 级: 学号: 软件学院 姓 名: 软件工程 学 院: 专 业: 指导教师: Java权限管理系统 摘要 随着信息技术的快速发展,信息安全已成为人们高度关注的问题,特别是在企事业的信息系统管理中,针对资源共享而引出的访问控制技术也得到了广泛的研究。本课题在对信息系统的权限管理相关理论和方法进行研究的基础上,通过比较几种常见的访问控制方式的优缺点,目前信息系统的权限管理的需求进行分析。本文结合公司的基础技术平台的典型应用需求为背景,初步探索了访问控制的理论、方法以及基本流程,并在此基础上设计了权限管理系统的架构模型,实现了简单的原型系统,给出了系统的应用实例。论文完成的主要工作如下: (1)在访问控制技术理论研究的基础上,本文对权限管理系统的功能进行了详细的需求分析,设计了权限管理的系统架构,对系统的各个功能模块进行了详细设计,分为角色管理,部门管理,用户管理。 (2)在 Windows 环境下采用 Java 编程语言实现了权限管理架构的原型系统,并初步对其原理的可行性进行测试,给出了应用实例。该系统可以作为其他信息系统的一个子系统,能辅助管理人员完成系统的安全访问控制。通过对原型系统的实验分析,初步验证了本文所提出的方法以及系统设计方案的有效性和正确性。 关键词:权限管理,访问控制,角色,部门,用户 Java permission management system Abstract With the rapid development of information technology, information security has become the people's attention, especially in the information management system of enterprise, access control technique for resource sharing and the concept has been widely studied. The subject of study in the privilege management related theory and method of information system, the advantages and disadvantages by comparing several common access control mode, analysis and power demand management of the information system, the role-based access control technology was modified to make it more flexible in the role permissions management based on, By comparing several common access control mode, analysis and power demand management of the information system, the role-based access control technology was modified to make it more flexible in the role of authority management. Combining with the typical application requirements of company’s technology platform for the background, this thesis 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 are 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 the detaileddesign of each functional module of the system. (2) The prototype system of authority management architecture based on the role is implemented using Java programming language under Windows environment, its principle feasibility was initially tested, and the running examples were also gave. This system can be as a subsystem of other information systems, can assist managers to complete the security access control of system.system. Key words: right management,access control,role,department,user 华中科技大学 目 录 1 绪论 1 1.1课题的背景和意义 1 1.2 国内外发展状况 2 1.3 研究内容及目标 2 1.4 本文结构 2 2 开发方法及关键技术简介 3 2.1 开发工具与运行环境 3 2.2 主要问题及解决手段 4 2.3 关键技术简介 4 2.3.1 JSP技术 4 2.3.2 Oracle数据库技术 5 2.3.3 B/S结构 5 2.3.4 Tomcat技术 5 2.3.5 SSH 框架简介 6 3 总体设计 8 3.1 权限系统概述 8 3.2 权限系统实现的目标 8 3.3 权限管理系统网络体系结构 9 3.4 权限管理系统功能设计 10 3.4.1 系统功能结构图 10 3.4.2 系统功能模块设计 10 3.5 系统登录图 11 3.6 时序图 11 3.7 UML用例图 12 3.8系统数据库设计 14 4 权限管理系统功能实现 16 4.1 安全认证功能 16 4.1.1 系统注册功能的实现 16 4.1.2 系统登录功能的实现 16 4.2 功能权限管理功能 17 4.3 权限树 18 5 系统开发环境配置 20 6 软件测试 25 6.1软件测试指导思想及目的 25 6.2软件测试过程 25 6.3测试结果 26 7 总结 27 参 考 文 献 28 致 谢 30 第 II 页 共 II 页 1 绪论 1.1课题的背景和意义 20 世纪 90 年代以来,随着计算机与因特网的飞速发展,互联网已经进入了千家万户。人们的生活方式、思维方式、工作方式也随之产生了很大的改变。工作中我们可以通过办公自动化(Office Automation,简称 OA)系统方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,为科学管理和决策服务,从而达到提高行政效率的目的【1】。生活中我们通过社交网站方便了与他人的沟通交流。通过购物网站我们无需外出就可以购买的自己心仪的物品。然而在这么多系统的背后我们都离不开权限管理。什么是权限管理系统呢?例如:张是某某公司人力资源经理,这样我们就可以给张三赋予人力资源经理的角色,人力资源经理的角色又有查看员工、新增员工、删除员工和修改员工信息的权限。这样的话张三就可以进入系统进行这些操作了。权限管理一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。一个不安全的系统管理系统会出现哪些安全隐患呢,我们从以下几点来说明以下,1.缺少 URL 保护 2.授权的不合理或者缺失,用户该拥有的权限没有不该拥有的权限却能看到。3.数据库认证信息不安全。4.个人信息和敏感数据容易获取或者没有经过加密。5.传输层没有经过 SSL 加密。6.SQL 注入。以上漏洞会给黑客可趁之机。很多软件可以轻松通过 URL 侵入、SQL 注入等模式,轻松越权获得未授权数据。甚至对系统数据进行修改、删除,造成巨大损失。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。所以权限管理的重要性是不言而喻的。 目前来说权限管理系统是一个重复开发率比较高的模块之一,在很多企业中有不同的应用,每套应用中都需要满足自身的权限管理需要。无论是在数据存储、权限访问、权限控制上都存在着很多特殊的地方。如果我们在这些系统中均采用硬编码方式进行编码的话这样会照成逻辑与业务代码的紧密耦合【2】。1.这样不但会给开发人员照成重复的劳动,维护人员还需要额外的维护多套权限管理系统;2.用户管理、组织机构管理等数据重复维护,导致了数据一致性、完整性得不到保证;3.系统集成比较困难,实现单点登录比较困难给构建企业门户带来困难。本论文就是为了解决以上问题,构建一个通用、完善、安全、易于管理、有良好可移植、可扩展的权限系统,使权限管理系统真正的成为权限控制的中心,在系统安全方面发挥真正的重要的作用。 1.2 国内外发展状况 在上世纪七十年代,为了满足大型主机共享数据访问的需要,出现了访问控 制技术。这一技术随着计算机技术和应用的发展特别网络应用的发展迅速的应用 在信息系统的各个领域里面。在这之后出现了多种访问控制理论及实际操作。 目前关于访问控制机制理论主要有以下四种:自主存取控制(Discretionary Access Control,DAC);强制存取控制(Mandatory Access Control,MAC);基于角色的存取控制(Role‐based Access Control,RBAC);使用控制(Usage Control,UCON)。 1.3 研究内容及目标 本文讨论了权限管理系统的核心面向对象设计模式模型,以及权限访问、权限控制和权限存储机制等关键技术【3】。本论文采用了 SSH(即 Spring + Struts2 +Hibernate)框架来实现 MVC 的设计模式,Struts2 对 Model,View 和 Controller都提供了对应的组件。Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP的容器框架,Hibernate 是一个开放源代码的对象关系映射框架。我们还将使用了ORACLE关系型数据库以及 tomcat 来作为我们得 web 服务器。 系统将包括部门管理,用户管理,角色管理等权限管理。我们将实现对系统的机构管理增删改查及密码重置等功能;角色有超级管理员,管理员,普通用户;通过系统可以为不同角色授权,根据用户的登录页面,然后根据不同用户的不同角色进入系统后看到只有自己有该授权的页面。 1.4 本文结构 本文第一章论述了权限管理系统的开发背景、开发意义及发展现状。第二章论述了权限管理系统的开发方法以及关键技术。第三章论述了权限管理系统概要设计分析,包括系统概述、系统实现目标、系统体系结构、系统的功能设计、系统的数据库设计。第四章对权限管理系统主要功能的实现做了详细阐述,包括系统的功能的实现。第五章系统开发环境配置。第六章软件测试。第七章总结。 2 开发方法及关键技术简介 2.1 开发工具与运行环境 (1)开发工具 根据整个系统的开发计划,采用的开发工具是MyEclipse ,结合Dreamweaver最基本的框架搭建,并采用Java语言进行嵌入式开发动态网站。MyEclipse是一个开放的源代码,基于Java可扩张的开发平台,多数人都是将MyEclipse作为Java集成开发环境使用,虽然MyEclipse使用Jave开发,但MyEclipse不仅仅局限于Java开发,还可用于其它语言开发,如C/C++;MyEclipse是一个框架和一组服务,它通过各种插件来构建开发的环境,因此只要提供支持C/C++插件便能进行相应的语言开发。MyEclipse是一个IDE(Integrated Developing Environment),而这个IDE可以允许安装第三方开发的插件来使自身的功能得到扩展和增强,而MyEclipse就是其中一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来,但它是收费的。MyEclipse最早是由IBM开发的,后来IBM将MyEclipse作为一个开发的源代码项目,献给了开源组织MyEclipse.org,但仍由IBM的子公司OTI(主要从事MyEclipse开发的人员继续MyEclipse的开发。MyEclipse为MyEclipse提供一个大量私有和开源Java工具的集合,这解决了各种开源工具不一致的缺点。NitroX是一个繁杂而强大,加速Java Web应用开发的工具,还包含了一个强大且能够编译所有的JSP和Struts Web应用的具AppXray【4】。这些工具解析Java和XML配置文件。MyEclipse实际价值来来自包含的发布包中的大量工具。如CCS/JS/HTML的编辑器,帮助创建EJB和Struts项目的向导并产生了项目的所有主要的组件如action/seesion bean/form等。还包含编辑Hibernate配置的文件和执行SQL语句的工具。 (2)运行环境 ①软件环境 本系统运行在Windows系列的操作系统上。 ②硬件环境 对硬件环境无具体要求。 2.2 主要问题及解决手段 (1)数据库的连接 程序调试运行后将数据库与程序连接时,会出现与数据库连接失败的情况,此时需要为数据库安装一个sq3的补丁,并将安全性里的登录设置为混合登录方式。 (2)TOMCAT 6.0端口设置问题 在tomcat安装文件夹中有个conf文件,其中有个server.xml文件,有记事本中打开,里面有个port="8080"的代码字样,此代码表示默认的端口就是8080,但有时此端口会出现被占用的状况,因此服务器便不能使网站正常运行,此时便要将文件中的端口改成其它值,如:port="8099",然后重启tomcat,便可以运行程序。 2.3 关键技术简介 2.3.1 JSP技术 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成【5】。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。 JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、有语言因情节是执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只能依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。 2.3.2 Oracle数据库技术 Oracle 数据库是由来自美国的甲骨文公司的一款关系型数据库管理系统,它 是目前来说使用最为广泛的一种数据库之一。作为一个通用数据库来说他具有完 整的数据管理功能;做为一个关系型数据库它具备完整的关系产品;他又能为我 们实现分布式的处理;另外 oracle 数据库还是一个跨平台的数据库,我们可以在不同的操作系统上使用它。 2.3.3 B/S结构 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 MySQL等数据库。浏览器通过Web Server 同数据库进行数据交互。其大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)【6】。 B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。 2.3.4 Tomcat技术 Tomcat时一个免费开源的Servlet容器,它是Apache基金会Jakarta项目中一个核心项目,由Apache,Sun和其它的一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新Servlet和Jsp规范总能在Tomcat中得到了体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具有创新的java产品,可见其在业界的地位。 与传统桌面应用程度不同,Tomcat中应用程序是一个WAR(Web Archive)文件。WAR时Sun提出一种Web应用程序的格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件是按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下,有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下,则包含编译好的Servlet类和Jsp或Servlet所依赖其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下lib目录下,当然也可以放到系统CLASSPATH中,但那样移植和管理起来不方便【7】。 在Tomcat中,应用程序部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化成为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以对过Web部署和撤销应用。 2.3.5 SSH 框架简介 SSH框架是一个集成 spring、hibernate、struts2 的基于J2EE 的WEB框架,是目前使用最为广泛的 Web 应用框架之一。 SSH框架可以更好的为我们区分MVC 的分层架构体系。我们可以从四个层面来进行分层:领域模型层(entity)、资源访问层(dao)、业务逻辑层(service)、控制层(action),通过这四层模型可以帮助我们搭建结构清晰的、可复用性强的、方便维护的WEB应用程序。Struts2 框架作为WEB控制层层,负责从客户端接受request 请求,然后通过业务逻辑层的处理响应给客户端;Hibernate 是一个开源的对象关系映射框架,它对 JDBC 进行了非常轻量级的封装,我们可以使用它方便的通过对对象的操作实现对数据库的操控;Spring 是一个轻量级的提供了依赖注入功能和面向切面编程功能的容器框架,我们通过 Spring 的控制反转技术降低了对象之间的耦合度,通过 spring 提供的面向切面编程技术可以很简单的对事务、日志等一些特殊功能进行处理,spring 还为我们提供了对一些开源技术集成接口,而且为我们提供了很多工具类来简易我们的开发过程【8】。 通过 SSH 框架的使用不仅能够帮助我们实现领域模型层、资源访问层、业务逻辑层、控制层的分离降低了各层之间的耦合度,而且极大的简化了我们的开发使我们能够花更多的时间来关注业务的处理。 3 总体设计 3.1 权限系统概述 在 web 应用系统中,用户的安全认证、权限管理模块作为系统的重要组成部 分,是一个安全的信息系统中不可或缺的一部分。用户的安全认证主要是用来保 证登录者的身份,防止用户密码泄漏。权限管理的基本目标为了防止非法用户进 入系统;合法用户对系统资源非法使用。用户的安全认证、权限管理作为现代信 息系统中重用性最高模块之一,并且也是重复开发率最高的模块。因此作为一个 权限管理系统平台,它应当尽可能的实现与业务的分离方便的集成其他的系统模 块,还应当最大化的提供一些公共方法的支持与扩展来防止我们重复的开发。以 下我们将在用户安全认证方面采取一定的安全措施保证用户身份的安全;在权限 管理系统方面采用功能级权限和数据级权限两种方式来更加细粒度的进行权限控制。 3.2 权限系统实现的目标 首先权限管理系统平台作为一个平台我们将选用主流技术,通过对框架的封装来提供一些常用公共方法【9】。使系统开发过程中更加快捷方便。对权限管理方面我们通过两种权限控制方式,第一种是功能权限控制,功能权限控制是采用了基于角色的访问控制(Role‐Based Access Control, RBAC)并扩展了资源管理部分,基于角色的访问控制是目前比较成熟、应用比较广泛的统一资源访问控制方法,其核心内容包括用户、角色和资源三部分。我们设计过程就采用 RBAC 参考模型作为设计理论基础,通过在用户和权限之间增加角色的概念,不同角色具有不同的操作集,这些操作又由系统管理员分配给角色,对用户进行角色授权可以实现一个用户拥有一个或多个角色,实现了授权的灵活性。第二种是数据级权限控制,数据级权限控制是指用户对使用的系统的具体数据进行的权限控制,主要包括数据的查询权限、数据的修改权限、数据的删除权限、数据的创建权限、数据的管理员权限,它类似于我们 window 系统中的文件的权限管理。 综上所述,我们在通用权限系统实现目标有如下几点: (1) 提供一套可以快速开发的系统平台。 (2) 基于安全认证系统登录入口,一个通用的系统登录页面实现,用户根据自己用户名密码实现对系统登录。登录成功进入系统默认成功页面,失败提示失败信息。 (3) 功能权限的实现,包括对用户表、角色表、权限表的新增、修改、删除、查询、用户分配角色、角色分配权限的实现;系统登录成功后根据用户角色决定网页访问权限,显示操作菜单或按钮;对地址栏 url 进行控制,若为非法的 url 进行提示无此授权信息。 (4) 数据分配权限一个功能的实现。主要为不同的用户分配不同的角色,通过给角色设置权限进而使用户获得权限。 3.3 权限管理系统网络体系结构 图3-1 网络体系结构图 如图 3‐1 所示,我们权限管理系统体系将采用的是 B/S 结构,B/S 结构即Browser/Servr结构。在 B/S 结构下,用户界面都是通过浏览器来进行展示的,我们可以通过浏览器技术结合浏览器的多种 Script 语言和 ActiveX技术来处理一部分业务逻辑,这样可以帮助我们承担一部分服务器端压力,节约了开发的成本。近年来随着浏览器技术的迅速发展,B/S 结构逐渐取代了 C/S 结构成为应用系统首选体系结构。 Web 服务器部署权限管理系统的服务端程序,即 Servlet 的可执行程序包,负责响应客户端工作站的请求,并根据请求内容和其他的服务器通讯获得执行结果并返还客户端工作站。 客户端工作站是本系统的终端用户操作台,用户可以使用工作站上提供的浏览器来使用本系统提供的各种功能。 3.4 权限管理系统功能设计 3.4.1 系统功能结构图 图3-2 系统功能结构图 图 3‐2 为我们展示系统功能结构,通过该图我们可以直观的描述系统所具备的功能,它可以把一个系统模块化,为详细设计提供了极大的便利条件,便于模块化程序设计。 3.4.2 系统功能模块设计 系统功能模块设计是我们根据现有需求基础上做出的模块化的系统设计,为我们后续的功能实现提供依据。通过 3.4.1 中的系统功能结构图我们可以看到安全认证功能为系统提供了登录功能。系统用户根据用户名密码可以登录到系统,登录时我们通过对 cookie 的处理提供记住密码的功能。 功能权限为我们提供用户管理模块、角色管理模块、部门管理模块三个功能模块。 (1) 用户管理模块 该模块主要为系统提供用户管理功能,包括新增用户、修改用户、删除用户、用户权限、查询用户。 (2) 角色管理模块 该模块主要为系统提供角色管理功能,包括新增角色、修改角色、删除角色、角色权限。 (4) 部门管理模块 该模块主要为系统提供部门管理功能,包括新增部门、修改部门、删除部门、查看部门。该模块还可以为新增部门新增上级部门,可以查看上下级部门。 3.5 系统登录图 图3-3 系统登录图 3.6 时序图 图3-4为时序图,是一种交互图.用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。 图3-4 时序图 3.7 UML用例图 图3-5,3-6,3-7为用例图(User Case),是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。 用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。 用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。 用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是UML对用例的正式定义,对我们初学者可能有点难懂。 我们可以这样去理解,用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。 图3-5 角色管理用例图 图3-6 部门管理用例图 图3-7 用户管理用例图 3.8系统数据库设计 数据库是实现系统的基础,也是系统开发实现的关键所在。数据库设计要根据用户的需求,设计出合理的数据库结构并建立相应数据库及其应用系统,在进行系统设计时要综合全面地考虑系统在进行访问时的要求【10】。数据库结构设计的优劣对系统整个开发周期及系统整体性能会产生直接影响,并对系统软件的实际应用效率、完成的性能指标和实现的预期效果也会产生影响,合理、有效的数据库结构模式不但可以优化内部组织,还可以提高数据存取的效率和时间,保证数据的高度完整、安全和一致。 一般来说,数据库的设计过程大致可分为六个步骤:需求分析、概念设计、逻辑设计、物理设计、数据库实施、运行与维护。在设计过程中需要把数据库设计和对数据库中数据处理的设计紧密结合起来,这样数据库结构设计的不同阶段就会形成数据库的多种模式,将这两个方面的需求进行分析、设计、抽象、实现在各个阶段同时进行,相互补充,以此完善设计,充分满足应用系统的需求,同时使系统开发工作更便捷,管理和维护更容易。 图3-8,3-9为数据库设计的类图(Class diagram),是由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图最基本的元素是类或者接口。 图3-8 实体类图 图3-9 类图 4 权限管理系统功能实现 通过对系统的具体需求分析、功能的概要设计、数据库设计的一系列工作的就绪,下面我们就要对系统的各个功能点来进行详细的设计实现了。以下我们通过对系统目录结构和功能实现来进行一一描述。系统划分为三个功能模块:安全认证、功能权限、数据权限。 4.1 安全认证功能 安全认证为我们提供了用户注册、系统登录、安全证书三个功能实现。 (1) 用户注册 用户注册后可以为用户提供一些特有权限。注册时我们可以采用对用户密码的复杂度校验、对密码的加密等方式确保用户密码的安全性。 (2) 系统登录 系统用户根据用户名密码可以登录到系统,登录时我们通过对 cookie 的处理提供记住密码的功能。 4.1.1 系统注册功能的实现 系统注册主要是为用户基本的注册功能,在注册页面中会为用户提供一些特 定角色,用户选择某些角色后,用户才能够获得访问一些资源的权限。功能流程通过浏览器输入地址 http://localhost:8888/Permission 进入到用户的注册页面。注册用户注册成功后就可以通过系统登录页面进行系统登录了。 4.1.2 系统登录功能的实现 通过浏览器输入地址 http://localhost:8888/Permission我们能够进入系统登录页面如图 4‐1 所示,输入正确用户名密码我们就能够进入到系统首页面,当用户名或者密码错误的时候系统会给出登录失败的提示。登录页面为系统提供了 记住密码功能。当我们勾选上它时,系统会默认将用户名密码存入 cookie 中,因此当我们下次无需登录直接就可以进入该用户所授权了的页面。 图4-1 系统登录页面 4.2 功能权限管理功能 功能权限为我们提供用户模块、角色管理模块、部门管理模块三个功能模块, 系统内部还提供了授权的控制。 (1) 用户管理模块 该模块主要为系统提供用户管理功能,包括新增用户、修改用户、删除用户、用 户权限、查询用户。 (2) 角色管理模块 该模块主要为系统提供角色管理功能,包括新增角色、修改角色、删除角色、角 色权限。 该模块可实现对不同创建角色实现分配权限的功能,当创建用户并分配角色时,该用户获得该角色的所有权限,并且在主页面上显示出来,让我们可以更清晰的看到权限的分配功能。 (3) 部门管理模块 该模块主要为系统提供部门管理功能,包括新增部门、修改部门、删除部门和查看部门。 该模块在创建部门时可以为部门新增上级部门,并在查看部门时能看到上下级部门。 图4-2 角色管理功能权限模块 图4-3 部门管理功能权限模块 图4-4 用户管理功能权限模块 4.3 权限树 为角色设置权限时需要用到树形结构的权限树,如图4-5。 图4-5 权限树 在权限设置页面的操作列下包含“×”、“√”两种图标,“×”代表当前用户角色不含有该权限;“√”代表当前角色含有该权限。我们可以给角色进行分配权 限,选中权限,如果选中的权限操作列下为“×”图标,双击“×”图标,当前 角色将会被赋予当前权限,操作列下的图标将变为“√”图标;如果选中的权限 操作列下为“√”图标,双击“√”图标,当前角色将会将当前角色下的当前权 限撤销,操作列下的图标将变为“×”图标。 5 系统开发环境配置 本系统采用Struts2+Spring+Hibernate的架构进行系统开发。其中Struts2按照MVC的分层方式把系统分为action层、service层、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相关的配置文件,如数据库连接配置,依赖注入配置,注解配置等。 <!-- 自动扫描与装配bean --> <context:component-scan base-package="com.permission"></context:component-scan> <!-- 导入外部的properties文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置SessionFactory --> <beanid="sessionFactory"class="org.spr- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 权限 管理 系统 学位 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文