Java权限管理系统.docx
- 文档编号:7069439
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:27
- 大小:777.97KB
Java权限管理系统.docx
《Java权限管理系统.docx》由会员分享,可在线阅读,更多相关《Java权限管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
Java权限管理系统
毕业设计
Java权限管理系统
班级:
学号:
软件学院
姓名:
软件工程
学院:
专业:
指导教师:
Java权限管理系统
摘要
随着信息技术的快速发展,信息安全已成为人们高度关注的问题,特别是在企事业的信息系统管理中,针对资源共享而引出的访问控制技术也得到了广泛的研究。
本课题在对信息系统的权限管理相关理论和方法进行研究的基础上,通过比较几种常见的访问控制方式的优缺点,目前信息系统的权限管理的需求进行分析。
本文结合公司的基础技术平台的典型应用需求为背景,初步探索了访问控制的理论、方法以及基本流程,并在此基础上设计了权限管理系统的架构模型,实现了简单的原型系统,给出了系统的应用实例。
论文完成的主要工作如下:
(1)在访问控制技术理论研究的基础上,本文对权限管理系统的功能进行了详细的需求分析,设计了权限管理的系统架构,对系统的各个功能模块进行了详细设计,分为角色管理,部门管理,用户管理。
(2)在Windows环境下采用Java编程语言实现了权限管理架构的原型系统,并初步对其原理的可行性进行测试,给出了应用实例。
该系统可以作为其他信息系统的一个子系统,能辅助管理人员完成系统的安全访问控制。
通过对原型系统的实验分析,初步验证了本文所提出的方法以及系统设计方案的有效性和正确性。
关键词:
权限管理,访问控制,角色,部门,用户
Javapermissionmanagementsystem
Abstract
Withtherapiddevelopmentofinformationtechnology,informationsecurityhasbecomethepeople'sattention,especiallyintheinformationmanagementsystemof
enterprise,accesscontroltechniqueforresourcesharingandtheconcepthasbeen
widelystudied.Thesubjectofstudyintheprivilegemanagementrelatedtheoryand
methodofinformationsystem,theadvantagesanddisadvantagesbycomparingseveral
commonaccesscontrolmode,analysisandpowerdemandmanagementofthe
informationsystem,therole-basedaccesscontroltechnologywasmodifiedtomakeit
moreflexibleintherolepermissionsmanagementbasedon,Bycomparingseveral
commonaccesscontrolmode,analysisandpowerdemandmanagementofthe
informationsystem,therole-basedaccesscontroltechnologywasmodifiedtomakeit
moreflexibleintheroleofauthoritymanagement.Combiningwiththetypical
applicationrequirementsofcompany’stechnologyplatformforthebackground,this
thesisstudiedthetheories,methods,andthebasicprocessofaccesscontrol,andonthisbasisdesignedtheroleofauthoritymanagementsystemarchitecturemodel,
implementedasimpleprototypesystem,andsomeexamplesofthesystemaregiven.
Themaincontentsofthisthesisareasfollows:
(1)Onthebasisoftheoreticalstudyofaccesscontroltechnology,thisthesismakesadetailedanalysisforprivilegemanagementfeaturesofthesystem,designthesystemarchitectureofprivilegemanagementbasedonrole,andhascarriedonthedetaileddesignofeachfunctionalmoduleofthesystem.
(2)Theprototypesystemofauthoritymanagementarchitecturebasedontheroleis
implementedusingJavaprogramminglanguageunderWindowsenvironment,its
principlefeasibilitywasinitiallytested,andtherunningexampleswerealsogave.This
systemcanbeasasubsystemofotherinformationsystems,canassistmanagersto
completethesecurityaccesscontrolofsystem.system.
Keywords:
rightmanagement,accesscontrol,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.1JSP技术4
2.3.2Oracle数据库技术5
2.3.3B/S结构5
2.3.4Tomcat技术5
2.3.5SSH框架简介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.7UML用例图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
1绪论
1.1课题的背景和意义
20世纪90年代以来,随着计算机与因特网的飞速发展,互联网已经进入了千家万户。
人们的生活方式、思维方式、工作方式也随之产生了很大的改变。
工作中我们可以通过办公自动化(OfficeAutomation,简称OA)系统方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,为科学管理和决策服务,从而达到提高行政效率的目的【1】。
生活中我们通过社交网站方便了与他人的沟通交流。
通过购物网站我们无需外出就可以购买的自己心仪的物品。
然而在这么多系统的背后我们都离不开权限管理。
什么是权限管理系统呢?
例如:
张是某某公司人力资源经理,这样我们就可以给张三赋予人力资源经理的角色,人力资源经理的角色又有查看员工、新增员工、删除员工和修改员工信息的权限。
这样的话张三就可以进入系统进行这些操作了。
权限管理一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。
一个不安全的系统管理系统会出现哪些安全隐患呢,我们从以下几点来说明以下,1.缺少URL保护2.授权的不合理或者缺失,用户该拥有的权限没有不该拥有的权限却能看到。
3.数据库认证信息不安全。
4.个人信息和敏感数据容易获取或者没有经过加密。
5.传输层没有经过SSL加密。
6.SQL注入。
以上漏洞会给黑客可趁之机。
很多软件可以轻松通过URL侵入、SQL注入等模式,轻松越权获得未授权数据。
甚至对系统数据进行修改、删除,造成巨大损失。
权限管理几乎出现在任何系统里面,只要有用户和密码的系统。
所以权限管理的重要性是不言而喻的。
目前来说权限管理系统是一个重复开发率比较高的模块之一,在很多企业中有不同的应用,每套应用中都需要满足自身的权限管理需要。
无论是在数据存储、权限访问、权限控制上都存在着很多特殊的地方。
如果我们在这些系统中均采用硬编码方式进行编码的话这样会照成逻辑与业务代码的紧密耦合【2】。
1.这样不但会给开发人员照成重复的劳动,维护人员还需要额外的维护多套权限管理系统;2.用户管理、组织机构管理等数据重复维护,导致了数据一致性、完整性得不到保证;3.系统集成比较困难,实现单点登录比较困难给构建企业门户带来困难。
本论文就是为了解决以上问题,构建一个通用、完善、安全、易于管理、有良好可移植、可扩展的权限系统,使权限管理系统真正的成为权限控制的中心,在系统安全方面发挥真正的重要的作用。
1.2国内外发展状况
在上世纪七十年代,为了满足大型主机共享数据访问的需要,出现了访问控
制技术。
这一技术随着计算机技术和应用的发展特别网络应用的发展迅速的应用
在信息系统的各个领域里面。
在这之后出现了多种访问控制理论及实际操作。
目前关于访问控制机制理论主要有以下四种:
自主存取控制(DiscretionaryAccessControl,DAC);强制存取控制(MandatoryAccessControl,MAC);基于角色的存取控制(Role‐basedAccessControl,RBAC);使用控制(UsageControl,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(IntegratedDevelopingEnvironment),而这个IDE可以允许安装第三方开发的插件来使自身的功能得到扩展和增强,而MyEclipse就是其中一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来,但它是收费的。
MyEclipse最早是由IBM开发的,后来IBM将MyEclipse作为一个开发的源代码项目,献给了开源组织MyEclipse.org,但仍由IBM的子公司OTI(主要从事MyEclipse开发的人员继续MyEclipse的开发。
MyEclipse为MyEclipse提供一个大量私有和开源Java工具的集合,这解决了各种开源工具不一致的缺点。
NitroX是一个繁杂而强大,加速JavaWeb应用开发的工具,还包含了一个强大且能够编译所有的JSP和StrutsWeb应用的具AppXray【4】。
这些工具解析Java和XML配置文件。
MyEclipse实际价值来来自包含的发布包中的大量工具。
如CCS/JS/HTML的编辑器,帮助创建EJB和Struts项目的向导并产生了项目的所有主要的组件如action/seesionbean/form等。
还包含编辑Hibernate配置的文件和执行SQL语句的工具。
(2)运行环境
①软件环境
本系统运行在Windows系列的操作系统上。
②硬件环境
对硬件环境无具体要求。
2.2主要问题及解决手段
(1)数据库的连接
程序调试运行后将数据库与程序连接时,会出现与数据库连接失败的情况,此时需要为数据库安装一个sq3的补丁,并将安全性里的登录设置为混合登录方式。
(2)TOMCAT6.0端口设置问题
在tomcat安装文件夹中有个conf文件,其中有个server.xml文件,有记事本中打开,里面有个port="8080"的代码字样,此代码表示默认的端口就是8080,但有时此端口会出现被占用的状况,因此服务器便不能使网站正常运行,此时便要将文件中的端口改成其它值,如:
port="8099",然后重启tomcat,便可以运行程序。
2.3关键技术简介
2.3.1JSP技术
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和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.2Oracle数据库技术
Oracle数据库是由来自美国的甲骨文公司的一款关系型数据库管理系统,它
是目前来说使用最为广泛的一种数据库之一。
作为一个通用数据库来说他具有完
整的数据管理功能;做为一个关系型数据库它具备完整的关系产品;他又能为我
们实现分布式的处理;另外oracle数据库还是一个跨平台的数据库,我们可以在不同的操作系统上使用它。
2.3.3B/S结构
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或MySQL等数据库。
浏览器通过WebServer同数据库进行数据交互。
其大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)【6】。
B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。
甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
2.3.4Tomcat技术
Tomcat时一个免费开源的Servlet容器,它是Apache基金会Jakarta项目中一个核心项目,由Apache,Sun和其它的一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新Servlet和Jsp规范总能在Tomcat中得到了体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具有创新的java产品,可见其在业界的地位。
与传统桌面应用程度不同,Tomcat中应用程序是一个WAR(WebArchive)文件。
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.5SSH框架简介
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‐BasedAccessControl,RBAC)并扩展了资源管理部分,基于角色的访问控制是目前比较成熟、应用比较广泛的统一资源访问控制方法,其核心内容包括用户、角色和资源三部分。
我们设计过程就采用RBAC参考模型作为设计理论基础,通过在用户和权限之间增加角色的概念,不同角色具有不同的操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 权限 管理 系统