基于组策略的用户管理平台本科毕业设计论文.docx
- 文档编号:9056389
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:37
- 大小:380.14KB
基于组策略的用户管理平台本科毕业设计论文.docx
《基于组策略的用户管理平台本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于组策略的用户管理平台本科毕业设计论文.docx(37页珍藏版)》请在冰豆网上搜索。
基于组策略的用户管理平台本科毕业设计论文
题目:
基于组策略的用户管理平台
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
基于组策略的用户管理平台
摘要
管理平台是一款基于NiceEnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。
NICEEnginframe的框架下为应用软件的门户进行用户访问控制。
它以MVC为主要技术框架,作为webapplication运行在Tomcat服务器中。
在用户登录应用软件门户时,登录页面将调用管理平台以检查用户的角色和权限,根据用户的权限决定用户能否登录和登录后所能操作的应用软件页面,从而实现整个应用软件门户的用户访问控制。
用户对每个页面的访问和操作都将被记录在管理平台的系统审计表中供审计员审查。
当管理员在web界面上添加或修改用户密码时,管理平台后台服务程序通过调用Shell脚本对系统的NIS、LDAP、DA等用户名服务器进行添加、修改和查询用户的操作。
管理平台的缺点在于添加用户性能太差,添加用户一般需要20s左右,主要的瓶颈在于将用户添加到nis中的时候使用的shell脚本性能差,花费的时间太长。
关键字:
NICEEnginframe;shell;NIS(NetworkInformationServer);LDAP(LightweightDirectoryAccessProtocol);DA(ActiveDirectory)
GroupPolicy-basedusermanagementplatform
Summary
ManagementplatformisaframeworkbasedontheNiceEnginFrameabove,dependingontheapplicationsoftwareplatformpurviewofmultipleuserrolestotheapplicationsoftwareanddatamanagementsoftwareforaccesscontrol.NICEEnginframetheframeworkofapplicationsoftware,useraccesscontrolportal.ItMVCasthemaintechnicalframeworkasawebapplicationrunningonTomcatserver.
Applicationsoftwareportaluserslogin,theloginpagewillcallmanagementplatformtochecktheuser'sroleandpermissionsbasedontheuser'spermissionsdeterminewhetherausercanloginandlogpagescanoperatetheapplicationsoftware,enablingusersoftheentireapplicationsoftwareportalaccesscontrol.UserstoaccessandmanipulateeachpagewillberecordedinthesystemauditmanagementplatformfortheAuditorofthetable.WhenanadministratorinthewebinterfacetoaddormodifyuserpasswordmanagementplatformdaemonsShellscriptsbycallingthesystemNIS,LDAP,DAandotherusernameservertoadd,modify,andquerytheuser'sactions.
Managementplatformdisadvantagepoorperformanceaddusers,addusersgenerallyneedabout20s,themainbottleneckistoadduserstonisinshellscriptstousewhenperformanceispoor,ittakestoolong.
Keyword:
NICEEnginframe;shell;NIS(NetworkInformationServer);LDAP(LightweightDirectoryAccessProtocol);DA(ActiveDirectory)
1绪论
1.1本课题的开发背景以及开发意义
管理平台是一款基于NiceEnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。
我们将用户分为三种角色,(系统管理员、安全员、审计员),对于不同的用户访问web页面看到的页面不同。
系统管理员:
负责添加、删除、修改、添加单位、研究室等等。
安全员:
负责审核用户,只有审核之后的用户才能登陆我们的仿真平台。
审计员:
记录和查看每个用户登录、提交作业以及其他的操作
1.2国内外研究现状
基于用户管理系统的产品五花八门,各种各样,其根据用户需求的不同,设计的产品不同,我们的产品是基于航天院的高性能平台提出的,使用该管理平台管理用户合理的使用高性能平台。
所以该系统和OA以及其他的用户管理平台很多不同的地方,普通用户不能查看和修改个人的信息,只用系统管理有才有权限进行修改。
本系统的最大特点是将用户分为四种,系统管理员、安全员、审计员、普通用户。
每种用户的功能将在后面详细的讲解。
1.3本课题研究的主要内容
管理平台是一款基于NiceEnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。
管理平台的主要功能有:
●允许对角色的自定义配置,并提供系统默认的三员(管理员、安全员和审计员)管理。
●提供用户维护web界面允许系统管理员添加和修改应用平台门户网站的用户。
●提供组织管理web界面允许系统管理员添加和修改用户所属的单位和部门。
●提供安全管理web界面允许安全员批量批准添加用户的请求。
●提供审计管理web界面允许审计员审查管理员和安全员的操作记录。
。
2开发工具以及相关的技术
2.1java、jsp语言介绍
本课题中使用了JAVA作为编程语言,以下就对JAVA做一个简单的介绍:
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。
Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。
从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java的特点如下:
1.平台无关性
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界范围内共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
4.分布式
Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
5.健壮性
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。
并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能。
6.解释型
我们知道C,C++等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。
Java不像C或C++,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。
字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。
7.动态
java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C++那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP可用一种简单易懂的等式表示为:
HTML+Java=JSP。
2.2shell语言介绍
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。
它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。
不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。
Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果
同Linux本身一样,Shell也有多种不同的版本。
目前主要有下列版本的Shell:
BourneShell:
是贝尔实验室开发的。
BASH:
是GNU的BourneAgainShell,是GNU操作系统上默认的shell。
KornShell:
是对BourneSHell的发展,在大部分内容上与BourneShell兼容。
CShell:
是SUN公司Shell的BSD版本。
ZShell:
Thelastshellyou’lleverneed!
Z是最后一个字母,也就是终极Shell。
它集成了bash、ksh的重要特性,同时又增加了自己独有的特性
2.3NICEEnginframe开发环境的介绍
EnginFrame基本框架是基于JAVA,XML和WebServices,人性化,应用程序和数据位导向的门户网站,便于部署。
目前广泛应用在高性能计算门户上,与上下游高性能相关产品的配合形成了门户应用封装、多集群调度、桌面虚拟化、远程可视化等可借鉴的解决方案。
用户和管理员可以很容易的提交很控制网格的应用程序以及监控工作站、数据。
2.4postgresql数据库
2.4.1postgresql数据库的介绍
Postgresql是一种关系型数据库管理系统(RDBMS)。
在数据库的术语里,Postgresql是一种客户端/服务器的模式,一次Postgresql会话有以下相关进程(程序)组成。
1一个服务器进程,他管理数据库文件,接受来自客户端应用与数据库的链接,并且代表客户端在数据库上执行操作。
数据库服务器程序叫做postmaster.
2那些需要执行数据库操作的用户的客户端应用,客户端应用可能本省就是多种多样的:
他们可以是一个字符界面的工具,也可以是一个图形界面的应用,或者是一个通过通过访问数据库来显示网页的web服务器,或者是一个特殊的数据库管理工具,一些客户端应用时和Postgresql发布一起提供的,但绝大部分是用户开发的。
和典型的客户端/服务器(c/s)一样,这些客户端很服务器可以在不同的主机上,通过TCP/IP网络联建通讯。
Postgresql服务器可以处理来自客户端的多个并法请求,因此,他为每各请求启动(“fork”)一个新的进程。
这个时候开始,客户端和新的服务器进程就不在经过最初的的postmaster进程干涉进程通信。
因此,postmaster总是在运行,等待连接,而客户端和相关的服务器进程则是起起停停。
2.4.2postgresql数据库的特点
1.支持SQL。
作为关系数据库,它支持SQL89标准也支持部分SQL92大部分功能。
2.有丰富的数据类型。
许多数据类型是一些商业数据库都没有提供的。
3.面向对象。
它包含了一些面向对象的技术,如继承和类。
4.支持大数据库,它不同于一般的桌面数据库,能够支持几乎不受限制大小的数据库,而且性能稳定。
5.方便集成web,提供一些接口方便PHP,Perl等语言操作数据库。
6.事务处理。
相对一些其他免费数据库如MySQL,他提供了事务处理,可以满足一些商业领域的数据需要。
7.PostgreSQL运行速度明显低于MySQL。
因为MySQL使用了线程,而PostgreSQL使用的是进程。
在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。
2.4.3postgresql数据库的优点
1.PostgreSQL的特性覆盖了SQL-2/SQL-92和SQL-3/SQL-99,是目前世界上支持最丰富的数据类型的数据库。
2.PostgreSQL是全功能的自由软件数据库,PostgreSQL是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。
3.PostgreSQL采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。
4.PostgreSQL对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。
2.5struts2介绍
Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。
Struts2对Struts1进行了巨大的改进。
主要表现在如下几个方面:
在Action的实现方面:
Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。
线程模型方面:
Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。
Struts2的Action是一个请求对应一个实例。
没有线程安全方面的问题。
Servlet依赖方面:
Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象。
这使程序难于测试。
Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。
封装请求参数:
Struts1中强制使用ActionForm对象封装请求的参数。
Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。
表达式语言方面:
Strut
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 策略 用户 管理 平台 本科 毕业设计 论文