bs架构的权限管理系统-----毕业设计论文_第1页
bs架构的权限管理系统-----毕业设计论文_第2页
bs架构的权限管理系统-----毕业设计论文_第3页
bs架构的权限管理系统-----毕业设计论文_第4页
bs架构的权限管理系统-----毕业设计论文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页共20页毕毕毕毕业业业业实实实实习习习习报报报报告告告告题目B/S架构的权限管理系统系别计算机科学与技术专业班级软件技术学号学生姓名指导教师2007年3月12日2007年6月12日第2页共20页摘摘摘摘要要要要管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁。构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的。权限管理系统是管理信息系统中可代码重用性最高的模块之一。任何多用户的系统都不可避免的涉及到相同的权限需求,都需要解决实体鉴别、数据保密性、数据完整性、防抵赖和访问控制等安全服务据ISO74982。例如,访问控制服务要求系统根据操作者已经设定的操作权限,控制操作者可以访问哪些资源,以及确定对资源如何进行操作。目前,权限管理系统也是重复开发率最高的模块之一。在企业中,不同的应用系统都拥有一套独立的权限管理系统。每套权限管理系统只满足自身系统的权限管理需要,无论在数据存储、权限访问和权限控制机制等方面都可能不一样,这种不一致性存在如下弊端1系统管理员需要维护多套权限管理系统,重复劳动。2用户管理、组织机构等数据重复维护,数据一致性、完整性得不到保证。3由于权限管理系统的设计不同,概念解释不同,采用的技术有差异,权限管理系统之间的集成存在问题,实现单点登录难度十分大,也给企业构建企业门户带来困难。采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统,使得权限管理系统真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。关键词J2EE、JSP、SERVLETJDBC、JAVABEAN、TOMCAT、MVC第3页共20页目录目录目录目录摘摘摘摘要要要要2目录目录目录目录3第一章第一章第一章第一章引言引言引言引言411权限管理系统的基本内容412权限管理系统的意义4第二章第二章第二章第二章系统需求分析系统需求分析系统需求分析系统需求分析521权限管理系统概要5211后台功能模块5212前台权限测试7第三章第三章第三章第三章系统设计与实现系统设计与实现系统设计与实现系统设计与实现831权限管理系统实现MVC架构832数据库设计9321数据库关系图9322数据库可行性分析933持久层1034逻辑层17总结总结总结总结19参考文献参考文献参考文献参考文献20第4页共20页第一章第一章第一章第一章引言引言引言引言11权限管理系统的基本内容权限管理系统的基本内容权限管理系统的基本内容权限管理系统的基本内容权限管理系统是很多系统的一个必不可少的一个模块功能,主要功能包括用户信息管理、角色信息管理、模块信息管理、权限管理及其分配。本系统通过分配角色给每个用户,使其拥有相应的权限,并且可以对角色也可以进行添加、修改、删除等操作。角色者拥有相应的权限,同时也可以对权限进去添加、修改、删除等操作。本系统主要为构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统为目标而完成。12权限管理系统的意义权限管理系统的意义权限管理系统的意义权限管理系统的意义权限管理是WEB应用项目中比较关键的环节,因为浏览器是每一台计算机都已具备的,如果不建立权限管理系统,那么一个“非法用户”可以轻而易举通过浏览器访问WEB应用项目中的所有功能。因此需要权限管理系统进行权限检测,让经过授权的用户可以正常合法的使用已授权的功能,而对那些未授权的非法用户拒之门外。权限管理系统应该对每一类或每一个用户,分配不同的系统操作权限,并应具有扩展性,也就是它可以加入到任何一个带有权限管理的WEB应用项目中,就像构件一样可以被重复使用。第5页共20页第二章第二章第二章第二章系统需求分析系统需求分析系统需求分析系统需求分析21权限管理系统概要权限管理系统概要权限管理系统概要权限管理系统概要211后台后台后台后台功能模块功能模块功能模块功能模块(1)登录模块把用户输入的用户名及其密码带后台与数据库中该用户的信息进行验证,如果用户名存在并且密码正确则进入系统;如果错误,则返回错误提示页要求用户重新输入用户名及其密码。(2)用户信息模块添加新用户要求管理员详细的填写添加新用户表单,提交后系统后台验证该用户是否已经存在,如果没有则把新用户资料添加进数据库并且返回添加成功页,如果该用户已存在则直接返回错误提示页。用户管理显示出数据库中所有用户的简略资料,包括编号、姓名、部门、电话。用户查询管理员可以输入用户的查询条件来查询用户,条件包括编号、姓名、角色,只要输入三个条件中的一个则可以查询到该用户。用户详细资料显示管理员可以查询到用户的具体资料,包括编号、用户登录帐号、用户登录密码、姓名、部门、办公室、电话、EMAIL、是否在职状态、拥有的角色信息。用户资料修改管理员可以修改用户的基本资料,包括用户登录密码、姓名、部门、办公室、电话、EMAIL、是否在职状态。第6页共20页删除用户管理员可以删除任意用户,并且删除用户的同时该用户所有的角色信息将同时被删除。指定角色管理员可以对用户的角色进行设置,包括添加、删除用户的角色信息(3)角色信息模块添加新角色添加新角色信息,主要信息包括角色名。角色详细信息显示该角色的详细信息,有角色名及其拥有该角色的用户简略资料。删除角色删除选中的角色,并且同时将删除所有用户的该角色信息和该角色拥有的所有权限信息。指定用户可以指定一个或多个用户的该角色信息,同时也有删除某个用户该角色的功能。(4)权限模块添加新权限模块添加新权限模块信息,信息包括权限名、权限介绍。删除权限模块删除某个权限模块,删除同时将删除拥有该权限所有的角色信息。修改权限模块修改权限模块的权限名和权限介绍。第7页共20页(5)权限管理指定某个角色应该具有的权限角色模块分配权限模块给角色,同时也可以修改某个角色的权限信息。指定某个用户具有的特殊权限用户角色分配角色给用户,同时也可以修改某个用户的角色信息。212前台权限测试前台权限测试前台权限测试前台权限测试(1)登录前台测试页面把用户输入的用户名及其密码带后台与数据库中该用户的信息进行验证,如果用户名存在并且密码正确则进入系统;如果错误,则返回错误提示页要求用户重新输入用户名及其密码。并且如果登录成功将返回用户的具体资料到页面显示。(2)测试用户权限用户登录系统以后,可以通过页面显示出来的所有权限进行测试,测试该用户是否拥有所选中的权限。第8页共20页第三章第三章第三章第三章系统设计与实现系统设计与实现系统设计与实现系统设计与实现31权限管理权限管理权限管理权限管理系统实现系统实现系统实现系统实现MVCMVC架构架构架构架构模型视图控制器(MVC)是XEROXPARC在八十年代为编程语言SMALLTALK80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为SUN公司J2EE平台的设计模式,并且受到越来越多的使用COLDFUSION和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。视图是用户看到并与之交互的界面。对老式的WEB应用程序来说,视图就是由HTML元素组成的界面,在新式的WEB应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MACROMEDIAFLASH和象XHTML,XML/XSL,WML等一些标识语言和WEBSERVICES模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBS和COLDFUSIONCOMPONENTS这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WEB页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。JAVA开发WEBAPPLICATION有几种符合MVC设计模式的开发方式1JSPSERVLETJAVABEANEJB2JSPJAVABEANCONTROLLERJAVABEANEJBMODEL3TDKTURBINE,VELOCITY第9页共20页4XSP5JSPSTRUTSJAVABEANEJB32数据库数据库数据库数据库设计设计设计设计数据库是管理信息系统的核心内容。目前,WEB与数据库接口技术有很多,其中JDBC是JAVA程序连接和存取数据库的应用程序接口,由一组用JAVA语言编写的类与接口组成,是执行SQL语句的JAVAAPI。本文介绍的管理信息系统中,在数据的存取方面,采用了JSP/SERVLETJDBC的技术,即客户端不产生数据库查询命令,客户端上的浏览器通过URL和中间层的WEB服务器建立连接。WEB服务器主要负责接收本地或远程浏览器的HTTP数据请求,然后中间层的SERVLET收到请求后,通过执行程序中的SQL语句,利用JDBC提供的标准API对数据库进行访问和相应的操作处理。SERVLET再将查询的数据传给JSP,最后生成标准的JSP页面将结果返回给提出请求的浏览器。这样,不仅将客户端与数据库服务器端分开,同时提高了数据库的访问效率。321数据库关系图数据库关系图数据库关系图数据库关系图图图图图3131数据库关系图数据库关系图数据库关系图数据库关系图322数据库可行性分析数据库可行性分析数据库可行性分析数据库可行性分析表表表表3131数据库可行性分析数据库可行性分析数据库可行性分析数据库可行性分析编号功能SQL语句第10页共20页1添加新用户INSERTINTOMASTERUSERNAME,LOGONID,PASSWORD,DEPARTMENT,OFFICE,PHONE,EMAIL,STATEVALUES,2查询所有用户信息SELECTFROMMASTER3通过用户ID或姓名查询用户资料SELECTFROMMASTERWHEREUSERIDORUSERNAME4通过角色名查询用户信息SELECTFROMMASTERUSERIDSELECTUSERIDFROMMASTERGROUPWHEREROLE5修改用户信息UPDATEACTIONSETUSERNME,LOGONID,PASSWORD,DEPARTMENT,OFFICE,PHONE,EMAIL,STATEWHEREUSERID6删除一个用户DELETEMASTERWHEREUSERID7查询所有权限模块信息SELECTFROMACTION8添加一个新权限模块INSERTINTOACTIONACTIONNAME,EXPLAINVALUES,9修改权限模块信息UPDATEACTIONSETACTIONNAME,EXPLAINWHEREACTIONID10删除某个权限模块信息DELETEACTIONWHEREACTIONID11查询所有角色信息SELECTFROMROLE12添加一个新角色信息INSERTINTOROLEROLENAMEVALUES13修改某个角色信息UPDATEACTIONSETROLENAMEWHEREROLEID14删除某个角色信息DELETEROLEWHEREROLEID15查询某个角色所拥有的权限SELECTFROMACTIONGROUPWHEREROLE16添加某个角色的权限INSERTINTOACTIONGROUPROLEID,ACTIONIDVALUES,17修改某个角色的权限信息1、DELETEACTIONGROUPWHEREROLEID2、INSERTINTOACTIONGROUPROLEID,ACTIONIDVALUES,18删除某个角色的所有权限信息DELETEACTIONGROUPWHEREROLEID19查询某个用户说拥有的角色信息SELECTFROMMASTERGROUPWHEREUSERID20添加某个用户所拥有的角色信息INSERTINTOMASTERUSERID,ROLEIDVALUES,21修改某个用户所拥有的角色信息1、DELETEMASTERGROUPWHEREUSERID2、INSERTINTOMASTERUSERID,ROLEIDVALUES,22删除某个用户的所有角色信息DELETEMASTERGROUPWHEREUSERID33持久层持久层持久层持久层在权限管理系统的开发中,基于MVC设计模式的思想,结合系统的实际情况,我们将持久层按照分工进行了进一步划分。持久层由许多BEAN和DAO组成,BEAN主要用于保存用户组对象数据,DAO主要用于对数据库的操作。第11页共20页首先,DAO获得由SERVLET传过来的信息,将这些业务信息封装在对应BEAN定义的对象实例中,根据业务逻辑对信息进行处理。当需要进行调用数据库的存取操作时,DAO将对象实例以及相应的控制信息通过数据库接口方法完成对数据库的操作。数据库操作完成后,再将返回的记录集封装成BEAN的对象实例,进行一定的处理后,将这些需要返回到界面的信息返回到界面上。图图图图332BEAN和和和和DAODAO关系图关系图关系图关系图以下是MASTERGROUPDAO中的部分代码PUBLICCLASSMASTERGROUPDAO/COMCCNIITBOOKSHOPDBDBMAIN的对象,用来调用GETPREPARESTATEMENTSTRINGSQLSTR方法PRIVATECOMCCNIITACTIONDBDBMAINDBMAINNEWDBMAIN/JAVASQLPREPAREDSTATEMENT的对象,用来执行SQL语句PRIVATEPREPAREDSTATEMENTPST/JAVASQLRESULTSET的对象,用来接受查询得到的结果PRIVATERESULTSETRS/通过USERID和ROLEID验证用户权限PUBLICBOOLEANGETMASTERGROUPBYUSERIDINTUSERID,INTROLEIDTHROWSCLASSNOTFOUNDEXCEPTION,SQLEXCEPTIONARRAYLISTMASTERGROUPLISTNEWARRAYLISTSTRINGSQLSTR“SELECTFROMMASTERGROUPWHEREUSERIDANDROLEID“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRPSTSETINT1,USERIDPSTSETINT2,ROLEID第12页共20页RSPSTEXECUTEQUERYIFRSNEXTRETURNTRUEELSERETURNFALSE/查询MASTERGROUP表中某个用户所拥有的角色信息PUBLICARRAYLISTGETMASTERGROUPBYUSERIDMASTERGROUPMASTERGROUPTHROWSCLASSNOTFOUNDEXCEPTION,SQLEXCEPTIONARRAYLISTMASTERGROUPLISTNEWARRAYLISTSTRINGSQLSTR“SELECTFROMMASTERGROUPWHEREUSERID“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRPSTSETINT1,MASTERGROUPGETUSERIDRSPSTEXECUTEQUERYWHILERSNEXTMASTERGROUPLISTADDASSEMBLEMASTERGROUPRSTHISREALSERETURNMASTERGROUPLIST第13页共20页/通过USERID查询所有的ROLEIDPUBLICARRAYLISTGETROLEIDBYUSERIDMASTERGROUPMASTERGROUPTHROWSCLASSNOTFOUNDEXCEPTION,SQLEXCEPTIONARRAYLISTMASTERGROUPLISTNEWARRAYLISTSTRINGSQLSTR“SELECTROLEIDFROMMASTERGROUPWHEREUSERID“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRPSTSETINT1,MASTERGROUPGETUSERIDRSPSTEXECUTEQUERYWHILERSNEXTMASTERGROUPLISTADDASSEMBLEROLEIDRSTHISREALSERETURNMASTERGROUPLIST/向MASTERGROUP表中添加多条记录PUBLICVOIDADDMASTERGROUPINTUSERID,INTROLEIDSTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTIONSTRINGSQLSTR“INSERTINTOMASTERGROUPUSERID,ROLEIDVALUES,“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRFORINTI0IROLEIDSLENGTHIPSTCLEARPARAMETERSPSTSETINT1,USERIDPSTSETINT2,ROLEIDSI第14页共20页PSTEXECUTEUPDATETHISREALSE/添加多条记录,ROLEID为单一,USERID为多条PUBLICVOIDADDMASTERGROUPBYUSERIDINTUSERIDS,INTROLEIDTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTIONSTRINGSQLSTR“INSERTINTOMASTERGROUPUSERID,ROLEIDVALUES,“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRFORINTI0IUSERIDSLENGTHIPSTCLEARPARAMETERSPSTSETINT1,USERIDSIPSTSETINT2,ROLEIDPSTEXECUTEUPDATETHISREALSE/通过ROLE删除表中多条记录PUBLICVOIDDELETMASTERGROUPBYROLEIDMASTERGROUPMASTERGROUPTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTIONSTRINGSQLSTR“DELETEMASTERGROUPWHEREROLEID“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRPSTSETINT1,MASTERGROUPGETROLEID第15页共20页PSTEXECUTEUPDATETHISREALSE/删除MASTERGROUP表中多条记录PUBLICVOIDDELETMASTERGROUPMASTERGROUPMASTERGROUPTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTIONSTRINGSQLSTR“DELETEMASTERGROUPWHEREUSERID“PSTDBMAINGETPREPAREDSTATEMENTSQLSTRPSTSETINT1,MASTERGROUPGETUSERIDPSTEXECUTEUPDATETHISREALSE/将当前结果集中的数据构造成一个对象PUBLICSTATICMASTERGROUPASSEMBLEMASTERGROUPRESULTSETRSTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTIONMASTERGROUPMASTERGROUPNEWMASTERGROUPMASTERGROUPSETIDRSGETINT“ID“MASTERGROUPSETUSERIDRSGETINT“USERID“MASTERGROUPSETROLEIDRSGETINT“ROLEID“RETURNMASTERGROUPPUBLICSTATICMASTERGROUPASSEMBLEROLEIDRESULTSETRSTHROWSSQLEXCEPTION,第16页共20页CLASSNOTFOUNDEXCEPTIONMASTERGROUPMASTERGROUPNEWMASTERGROUPMASTERGROUPSETROLEIDRSGETINT“ROLEID“RETURNMASTERGROUP/释放数据库资源PUBLICVOIDREALSETHROWSSQLEXCEPTIONIFRSNULLRSCLOSEIFPSTNULLPSTCLOSEIFDBMAINNULLDBMAINRELEASE第17页共20页表32权限管理系统系统的所有包编号包名作用1COMCCNIITACTIONDB用于对数据库的连接2COMCCNIITACTIONDBACTION用户对数据库中ACTION表的操作3COMCCNIITACTIONDBACTIONGROUP用于对数据库中ACTIONGROUP表的操作4COMCCNIITACTIONDBMASTER用于对数据库中MASTER表的操作5COMCCNIITACTIONDBMASTERGROUP用于对数据库中MASTERGROUP表的操作6COMCCNIITACTIONDBROLE用于对数据库中ROLE表的操作34逻辑层逻辑层逻辑层逻辑层图图图图333逻辑层关系图逻辑层关系图逻辑层关系图逻辑层关系图整个权限管理系统采用MVC的三层体系结构。通过JSP页面发送请求到服务器中的一个SERVLET,通过SERVLET对数据的进一步的处理后返回到下一个JSP页面中,从而实现与客户机进行信息资源的交互。系统的客户端只需要一个浏览器即可。相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。表表表表333权限管理系统中所有权限管理系统中所有权限管理系统中所有权限管理系统中所有SERVLETSERVLET类类类类编号类名作用1ACTIONSERVLETJAVA用于处理权限模块的页面信息2LOGINSERVLETJAVA用于处理登录模块的页面信息3ROLESERVLET用于处理角色模块的页面信息4ROLETOMODULESERVLETJAVA用于处理分配权限给角色的页面信息5USERTOMODULESERVLETJAVA用于处理分配角色给用户的页面信息6USERSERVLETJAVA用于处理用户模块的页面信息7TEST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论