




免费预览已结束,剩余46页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文拼车网的设计与实现权限管理模块The Design and Implementation of Carpooling NetRight Management Module姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 年 月43摘要目前主要有三种访问控制技术传统的自主访问控制,强制访问控制,以及后来90 年代美国国家标准技术研究院提出的基于角色访问控制。自主访问控制技术的访问权的授予有可传递性,即是甲可以访问乙,乙可以访问丙,则甲就能访问丙,这种方式在提高了权限授予的灵活性的同时,为系统带来了安全隐患,增加了管理困难。强制访问控制同样有着缺点,这种策略的缺点在于如果固定的访问级别划分得不够细致,会给权限管理带来困难,而且同安全级别间缺乏控制机制。本文主要通过拼车网设计,介绍了基于角色的访问控制技术,在权限管理中引入角色的概念,把资源的访问权限分配给角色,通过给用户分配角色来简化权限的管理。在分析现有权限管理的基础上,提出了一种基于角色访问控制模型的权限管理系统设计和实现的方案,实现了权限管理的控制,取得了较好的效果。关键字:权限管理;角色;用户AbstractFor now there are three most popularways of access control, Discretionary Access Control ,Mandatory Access Control and Role-Based Access Control.The right of DAC is transferable for example if A could access B and B could access C, then A could access C, this will leadshidden danger to the system. MAC also has its shortage, if the access level is not given out, it will leads trouble to the right management. This article mainly introduce the role-based access control through the design of carpooling net, we lead-in the concept of role, different form the tradition right management system, we allocate right to role, and then we assign role to the user, in this way we simplify the management of right. Based on the analysisof tradition right management system we propose a Program which is based on RBAC model, using this program we Achieve success in right management system, and this method has now obtained good results.Key words: right management;role ;user目录第一章绪论11.1权限管理系统研究背景及意义11.2权限管理研究现状与不足11.3研究内容与编写目的31.4论文结构安排3第二章权限管理总体设计42.1权限管理模块功能需求分析42.2定义52.3运行环境52.3.1软件环境52.3.2硬件环境62.4技术介绍62.4.1 JSF介绍62.4.2EJB 介绍82.4.3 ORACLE 数据库介绍92.4.4 Seam介绍102.5基本设计概念和处理流程112.6权限管理系统结构122.7人工处理过程132.8小结15第三章权限管理模块详细设计163.1编写目的163.2系统的结构163.3权限管理模块与用户之间的关系173.4权限管理系统顺序图简略表示173.5拼车网权限管理模块设计说明183.5.1 用户登入控制183.5.2用户的新增修改与删除193.5.3角色的增加修改与删除213.5.4拼车网权限赋值子模块设计说明243.5.5拼车网权限视图控制子模块设计说明253.5.6用户权限更新模块设计说明273.6小结28第四章系统运行结果304.1概述304.2拼车网用户登入界面304.3 管理员增加修改与删除用户324.3.1增加用户322.3.2修改与删除用户334.4 管理员增加修改与删除角色344.4.1 增加角色344.4.2 修改角色权限354.4.3 删除角色364.5小结37第五章总结和展望37参考文献38致谢39ContentChapter 1 Introduction11.1 Background introduction11.2 Intorduction of right management system11.3 Intention of this article31.4 Structure of tish article3Chapter 2 System design42.1 Requirements analysis42.2 Define52.3 Runtime environment52.3.1 Software environment52.3.2 Hardware environment62.4 Introduction of techniques62.4.1 JSF62.4.2 EJB82.4.3 ORACLE92.4.4 SEAM102.5 Basic design112.6 Structure of right management system122.7 Manual handing152.8 Summary15Chapter 3 Detail design163.1 Intention163.2 Structure163.3 Relationship of right management system and user173.4 Sequence diagram173.5 Detail design183.5.1 Login183.5.2 User module193.5.3 Role module213.5.4 Design of right evaluate243.5.5 Design of view control253.5.6 Design of right update273.6 Summary28Chapter 4 Run result304.1 Introduce304.2 Login in304.3 User module 324.3.1 Add user module322.3.2Update and delete user module334.4 Role module344.4.1 Add role module344.4.2 Update role module354.4.3 Delete role module364.5 Summary37Chapter 5 Summary and future development37Reference documentation38Thanks39第一章绪论第一章 绪论1.1权限管理系统研究背景及意义随着计算机的发展,对访问权限控制技术的研究越来越重要。访问控制技术起源于20世纪70年代,最初的需求是保护大型计算机系统的数据集的安全。20世纪70年代初,Anderson首先提出了引用监视器的概念,功能是根据访问控制数据库的定义,对抽象系统中所有使用者对目标的访问进行控制。随后的30多年中先后出现了多种访问控制模型。在系统中发生的事情,抽象的说都是某个主体在某个资源上执行了某个操作。所谓权限管理就是在这条信息传递路径中加上一些限制性的控制。随着计算机应用领域的不断扩展和计算机使用部门与人员的不断普及,使大型计算机应用系统的使用权限和系统权限管理的设计与实现成为人们关注的焦点。每一个较成熟的大型管理信息系统一定有一个权限管理系统来支撑,通过该系统严格分配进入系统的用户的使用范围与操作权限,以保证系统操作的安全性和合法性。由于权限的分配不仅要求指定到任何一级菜单,而且要求定义到具体的窗口,甚至指定到一个窗口的某个按钮上。而不同的应用系统,对使用权限的控制要求是不同的,针对以上问题,研究权限管理的基本规律,采用面向对象的软件设计方法来实现权限管理系统,是本文要解决的问题。1.2权限管理研究现状与不足当前访问控制策略主要有三种,传统的自主访问控制(Discretionary Access Control,DAC)和强制访问控制(Mandatory Access Control,MAC),以及后来90 年代NIST 提出的基于角色访问控制(Role-Based Access Control,RBAC)。自主访问控制(DAC):其基本思想是系统中的主体(用户或用户进程)能自主地将其拥有的对客体的访问权限全部或部分地授予给其它主,在Unix 类操作系统中被普遍采用。一般以维护一个访问控制矩阵来实现自主访问控制,以矩阵的行对应系统的主体(用户),列对应客体(资源),矩阵中的元素对应的访问权限。但是如果用户和系统资源都非常多,就使得这个矩阵非常庞大,而每个用户的权限是有限的,矩阵中就会出现很多空值造成存储空间的浪费。为了提高系统的性能,在实际应用时则采用了基于行或基于列的自主访问控制方式基于行的方式其实是在访问控制矩阵的每一行(主体)附加该主体可访问的客体的明细列表,从列表中详细记录了该主体对客体是否具有访问权限,以及具体访问形式(读取,执行,写入等)。基于列的方式则是在访问控制矩阵的列(客体)附加一个可以访问它的主体明细列表,主体明细列表根据记录内容的不同大致分为保护位(Protection bits) 和访问控制表(Access Control List,ACL)两种形式。前者由于自身表达能力有局限性很少被采用,而后者ACL 的项值可以决定任一主体能否访问该客体,并且包含主体的身份和对客体的访问权,从而完全表达访问控制矩阵。访问控制表是实现自主访问控制的最好的方法之一。DAC 有明显的缺点,它虽然能控制主体对客体的直接访问,但是却不能控制间接访问,既访问权的授予有可传递性,比如,甲可以访问乙,乙可以访问丙,则甲就能访问丙。在提高了权限授予的灵活性的同时,为系统带来了安全隐患,增加了管理难度。2. 强制访问控制: 由AT&T 和MIT 联合开发, 它常用于军队和国家重要机构等对安全级别较高的系统中.1983 年美国国防部的可信计算机系统评估标准中被用作B 级安全系统的主要评价标准之一。它能有效防御对特洛伊木马之类的攻击。系统会为主体(用户或者进程)和客体(系统资源)分配一个固定的安全级别, 主体不能改变自身或其它主/客体的安全属性,在客体被访问时系统会比较安全级别判定主体是否有访问权限。拥有相应权限的主体可以访问对应安全级别的客体,从而避免了自主访问控制方法中出现的访问权限传递问题。强制访问的关键规则是: 不向上读和不向下写, 即信息流是单向得从低安全级向高安全级流动,任何逆向信息流都是被禁止的。但是MAC 同样有着缺点,这种策略的缺点在于如果固定的访问级别划分得不够细致,会给权限管理带来困难,而且同安全级别间缺乏控制机制。并且在MAC 系统中,信息流的单向移动的前提是系统中不存在逆向潜信道,但是这一点在现代计算机系统中难以保证,比如种类型的共享存储器以及为提升硬件性能而采用的各种Cache 等都成为了系统的安全隐患。3. 基于角色的访问控制是美国国家标准技术研究院(National Institute of Standards and Technology,NIST) 90年代初提出的一种新的访问控制技术如今已经发展成为一个功能比较完善的访问控制模型,同传统的自由访问控制(DAC)和强制访问控制(MAC)相比,在灵活性和控制力度上都有很大的进步。1.3研究内容与编写目的本文拼车网中采用的权限系统是基于XMLBeans+Web Service服务模式开发,采用基于角色的访问控制方法,对外提供中立良好的XML借口,对内可以进行角色增加和角色权限的编辑,同时不会影响其他服务调用或者再次配置和调用权限管理服务。用户登入后,调用权限管理系统获得一个角色,并且获得这个角色的所有权限,在这之后,用户就可以使用各个单独的系统。此份说明书的目的:为了使得小组成员能更加明确的了解拼车网中的权限管理,方便后期教师审查。预期的读者:拼车网设计小组成员,审查老师1.4论文结构安排本论文共分为五章:第一章引言,概括介绍了本文的编写目的以及背景。第二章详细介绍了权限管理的总体设计。第三章详细介绍了权限管理的详细设计。第四章介绍了企业信息库管理系统的系统测试和运行结果。第五章论文总结了毕业设计所做的工作。第二章权限管理总体设计第二章权限管理总体设计本章对拼车网中的各个模块进行了总体设计,使得小组成员方便查看,小组成员能方便快捷的理解各个子模块。2.1权限管理模块功能需求分析表2-1权限管理模块的需求分析模块名称功能描述备注用户模块1. 用户首先应当注册系统。2. 登入系统之后用户应当获得一个角色。3. 系统通过角色来赋值用户权限,使得用户能够正常的看到相应权限的页面。管理员同时应当具有增加删除修改用户的权限角色模块1. 用户应当能够被赋值角色2. 增加角色应当能可视化的方便执行3. 修改角色权限应当能够可视化的方便执行4. 删除角色之前应当判断是否还有用户属于这种角色角色模块应当被管理员方便的可视化使用2.2定义本文件中用到的专业术语:管理者:即是管理系统权限的用户。角色:为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如管理员、拼车用户、司机等角色。用户:应用系统的具体操作者,用户可以自己拥有权限信息。他的权限集是自身具有的权限、所属的各角色具有的权限的合集。它与权限、角色之间的关系分别是1:n与1:1的关系。权限:用户的一个属性,用于标记用户能干什么事情。数据库中与权限管理相关的用户属性表2-2数据库中与权限管理相关的属性字段名数据类型是否为空默认值备注idInteger否0主键,自动增1,唯一userIdVarchar(20)是空字符唯一,数据检查passwordVarchar(20)是空字符无roleIdInteger否0与角色表建立关联2.3运行环境2.3.1软件环境表2-3权限管理系统需要的软件环境名称版本语种操作系统Windows xpSP3简体中文操作系统的附加功能数据库平台Oracle10英文应用平台BeaWeblogic(或tomcat)8.1简体中文邮件系统客户端软件MS IE6.0简体中文2.3.2硬件环境该软件所需要的硬设备。其中的新型设备及其专门功能,如表2-4所示表2-4权限管理系统所需硬件环境服务器最低配置推荐配置应用和数据库服务器1CPU:P4 2.0G1CPU:P4 2.8G2.4技术介绍权限管理系统中我们用到的技术,JSF,EJB,ORACLE,SEAM等相关技术。使用JSF我们可以可重用、可扩展、基于组件的用户界面框架,在快速开发工具RAD的支持下实现可视化开发。使用EJB技术我们可以非常方便快捷的实现业务逻辑。使用ORACLE使得我们的数据库建立更加的完善正确,并能得到良好的储存。使用SEAM使得我们可以把EJB组件直接绑定到JSF页面,将开发变得更加简便。2.4.1 JSF介绍JavaServer Faces(JSF)是一种刚刚发展起来的技术,是用来构建Web应用程序的新标准Java框架。它提供了一种以组件为中心来开发Java Web用户界面的方法,从而简化了开发过程,提高了开发效率。JSF还引起了广大Java/Web开发人员的兴趣。“企业开发人员”和Web设计人员将发现JSF开发可以简单到只需将用户界面(UI)组件拖放到页面上,而“系统开发人员”将发现丰富而强健的JSF API为他们提供了无与伦比的功能和编程灵活性。JSF还通过将良好构建的模型-视图-控制器(MVC)设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。最后,由于JSF是通过Java Community Process(JCP)开发的一种Java标准,因此开发工具供应者完全能够为JSF提供易于使用的、高效的可视化开发环境。实际上JSF本身就是一种完善的框架,可以独立使用,Struts 2是一个非常优秀的MVC实现框架,可以完整整合JSF。与微软Visual Studio.NET程序开发有可视化工具的支持相比,人们在开发基于Java的Web用户界面时仍然需要手工书写大量的标签,同时还要考虑页面状态信息的保存、客户端事件处理等问题,开发难度比较大,效率较低,重用性差。JSF技术正是为了解决这一问题应运而生的,其最引人注目的特性之一是它与标记语言、协议、客户端设备无关。利用JSF提供的可重用、可扩展、基于组件的用户界面框架,在快速开发工具RAD的支持下实现可视化开发。现在JSF技术已经得到了许多大厂商的支持,如Sun公司的JSF Web UI、IBM公司的JSF extension以及Oracle的ADF Faces等,许多开源项目(典型的Apache Myfaces)也提供对JSF技术的支持。同时Oracle、Sun、Borland和IBM等公司都为JSF提供了开发环境。JSF最大的特点就是提供了一个良好的UI界面开发环境,同时又是严格遵循模型-视图-控制器(MVC)设计模式的框架,用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使JSF应用程序更易于管理。为了准备提供页面对应用程序数据访问的JSF上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“FacesServlet”(控制器)来处理,如图2-1所示。图2-1:JSF的结构Faces Controller Servlet充当用户和JSF应用程序之间的纽带。Faces Controller Servlet在明确限定的JSF生命周期(规定了用户请求之间的整个事件流)的范围内工作。例如,一旦系统接收到访问应用的用户请求,Faces Controller Servlet便通过事先准备的JSF上下文(存放所有应用程序数据的一个Java对象)来处理请求。然后控制器把用户指引到所请求的页面。该页面通常使用简单的表达式语言来处理来自JSF上下文的应用程序数据。一旦收到后续请求,控制器就更新所有模型数据(假设输入了新数据)。JSF开发人员可以通过编程的方式在应用程序运行期间随时访问整个JSF生命周期,从而可以随时对应用程序的行为进行高度控制。2.4.2EJB 介绍EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.net技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。1.Session Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。2.Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。3.MessageDriven Bean是EJB2.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB实际上是一个异步的无状态Session Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间的等待一个方法调用直到返回结果。EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把 EJB概念转换成EJB产品.EJB是BEANS,BEANS是什么概念,那就是得有一个容纳她.EJB必须生存在 EJB容器中.这个容器可是功能强大之极!她首先要包装你BEAN,EJB的客户程序实际上从来就不和你编写的EJB直接打交道,他们之间是通过 HOME/REMOTE接口来发生关系的.比如BEAN的持续化,安全性,事务管理. 2.4.3 ORACLE 数据库介绍ORACLE是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用SQL(Structured query language)作为它的数据库语言。SQL主要包括数据定义、数据操纵(包括查询)和数据控制等三方面功能。SQL是一种非过程化程度很高的语言,用户只需说明干什么而无需具体说明怎么干语言简洁、使用方便功能强大,集联机交互与嵌入于一体,能适应广泛的使用环境。ORACLE数据库由三种类型的文件组成:数据库文件、日志文件和控制文件。数据字典是由ORACLE自动建立并更新的一组表,这些表中记录用户的姓名、描述表和视图以及有关用户权限等的信息。数据字典是只读的,只允许查询。也就是说数据字典是一种数据库资源,每个用户都可以访问数据字典,DBA可通过数据字典来监视ORACLE RDBMS的使用,并帮助用户完成其应用。ORACLE RDBMS本身也要利用数据库字典来管理和控制整个数据库。提起数据库,第一个想到的公司,一般都会是Oracle。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在数据库领域一直处于领先地位。1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle的下一个版本,版本5,率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle的版本6首创行锁定模式以及对称多处理计算机的支持最新的Oracle8主要增加了对象技术,成为关系-对象数据库系统。目前,ORACLE产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。2.4.4 Seam介绍Seam全称是Jboss Seam,是一个Java EE 5框架。它通过把JSF与EJB3.0组件合并在一起,以及利用JDK5.0的Annotation技术,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到JSF页面。Seam还可以把JBPM流程定义直接地集成到应用程序中。 Java EE5.0的核心框架是EJB(Enterprise JavaBeans)3.0和JSF(Java Server Faces)1.2。EJB 3.0(以下简称EJB3)是基于一个POJO(Plain Old Java Objects)的业务服务和数据库持久化的轻型框架。JSF是一个基于MVC(Model-View-Controller)的Web应用框架。大多数的Web应用都将包含有业务逻辑的EJB3组件和Web应用前端显示的JSF组件。EJB3和JSF虽然互补,但是他们是根据各自的理念设计的独立的框架。例如,EJB3使用注解(annotation)来配置服务,而JSF使用的是XML文件。更进一步讲,EJB3和JSF组件在框架层面上是互不敏感的。要整合EJB3和JSF,开发者必须手动地构造facade对象(如:JSF支持bean),将业务组件与Web页面和样板代码(又称plumbing代码)联结起来,以便能跨框架调用方法。将这些技术粘合起来是Seam的职责之一。Seam打破了EJB3和JSF之间的人工层,它为整合EJB3和JSF提供了一个一致的,基于注解的途径。只需要个别简单的注解,Seam中的EJB3业务组件就能直接被用来支持JSF Web表单或者处理Web UI事件。Seam允许开发者将“同一种东西”有注解的POJOs应用与所有的应用组件。与其他Web框架开发的应用相比,Seam应用概念简洁,同样的功能却需要较少的代码(在JAVA和XML中)。Seam拓展了EJB3到POJO的组件模式, 从web层到业务层都有了状态上下文。进一步说,Seam整合了一系列主要的其他开放源代码框架,例如jBPM、JBoss Rules(又名Drools)、JBoss Portal、JBossMicrocontainer等等。Seam不仅能将它们“有机结合”起来,而且可以像整合JSF和EJB3一样强化原有的框架。2.5基本设计概念和处理流程权限管理设计包含两个方面的步骤1.权限的赋值2.对应权限的对应显示 权限的赋值设计概念:拼车网提供注册机制,用户注册之后,系统应该能自动的给予其设定好的基本权限。对于需要变更的权限拼车网应当提供方法让管理员来修改权限。基本流程如下:权限赋值A.系统自动赋予普通注册用户设定好的权限,使其能够得到相应的服务。注册用户登入显示相应权限所能显示的界面。B修改权限a.管理员获得相信的角色。b.管理员控制角色的权限。c.角色权限自动反馈到用户显示上去图2-2与图2-3分别表示了这两个基本流程的逻辑图。图2-2:用户注册的基本流程图2-3:管理员修改权限的逻辑流程2.6权限管理系统结构权限管理模块的结构框图图2-4:权限管理模块的结构框图2.7人工处理过程表2-5:权限管理系统中的人工处理过程功能描述输入数据处理步骤输出数据1) 登录功能输入用户账号与密码,选择登录的角色。系统对数据输入先进行验证(输入是否符合要求基本要求),然后根据用户账号去数据库查找用户信息,看输入的密码和选择的角色是否与数据库中的信息一样1.成功登录后,跳转到登录后的主页面,显示用户的基本信息2用户名或密码错误,提示错误,并刷新到登录页面2) 增加新用户用户的基本信息先对输入的数据识别是否符合基本规范,如没错,则查处该用户账户是否已被注册。1. 输入符合要求,成功的在数据库中增加该用户。并显示用户列表的页面。2. 输入有错误,显示错误信息提示,并刷新页面,修改错误的地方。3) 修改某用户信息要修改的用户信息部分在数据中读取该用户的信息并显示在用户基本信息页面,待修改之后,点击提交,先验证输入是否符合规范,如正确,则修改数据库中的信息1. 输入的符合要求,成功的在数据库修改数据,并显示出用户列表2. 修改后的数据不符合规范,提示,并重新刷新页面。4) 删除某用户选择你要删除的用户,点击删除按钮系统提示你“是否真要删除”1. 处理无错误,正确删除2. 没删除掉,提示错误。5) 增加角色在增加角色页面,输入角色名称,并选择该角色能管理的功能模块(权限)验证输入的名称是否符合规范1. 输入的符合规范,将该角色的存入角色数据库。2. 名称输入不符合规范,显示出提示错误提示信息。6) 修改角色点击某个具体角色,进入该角色的具体信息页面,进行修改验证输入的角色信息是否符合规范,并查输入的角色是否已经存在。1. 输入正确,成功的修改该角色信息。并存入数据库2. 输入不符合规范,显示错误提示,该用户已经存在,提示你重新输入角色名。7) 删除角色在角色列表,点击要删除的那个角色系统提示你是否确定要删除,查找使用该角色的用户,看是否有用户使用该角色如果还有用户在使用该角色,则不能删除,要先删除掉这些使用该角色的用户后,才能删除该角色。2.8小结本章内容首先说明了权限管理系统的基本处理流程,用户权限的赋予以及对相应页面的正确分配显示和角色权限的更新,本章从总体设计上来看这两部分的流程,并给出了这两个基本流程的逻辑图,其次本章清晰的描述出了拼车网系统的总体结构以及权限管理系统中的人工处理部分。第四章权限管理模块详细设计第三章权限管理模块详细设计本章详细设计分析了各个子模块的实现过程与方法。3.1编写目的为了使得小组成员能更加明确的了解拼车网中的权限管理,方便后期教师审查。并且使得小组成员能通过详细设计有章可循的设计出权限管理模块。本节方便快捷的描述了权限管理各个部分的详细实现流程,并通过图表的方式进行了详细清楚的说明。3.2系统的结构图3-1:拼车网系统的结构框图3.3权限管理模块与用户之间的关系图3-2:权限与用户之间的关系图图3-2非常简单的说明了权限管理模块与用户之间的关系,即是用户首先会获得一个角色,权限管理系统通过角色来控制权限。图3-3:用户权限更新简略流程图图3-3说明了权限管理系统是如何更新和管理用户的权限,即是权限管理系统通过角色来修改用户权限。3.4权限管理系统顺序图简略表示图3-4权限管理系统的操作过程图3-4清楚的可以看出用户是如何获得权限以及权限管理系统如何更新用户的权限,即用户首先注册来获得一个角色,权限管理系统通过给角色赋值权限来最终为用户赋值权限,当用户的权限需要更新时,权限管理系统更新角色的权限,通过角色的权限来更新用户的权限。3.5拼车网权限管理模块设计说明3.5.1 用户登入控制模块描述:该模块用于验证用户名的合法性,控制用户的登入。模块的功能:系统对数据输入先进行验证(输入是否符合要求基本要求),然后根据用户账号去数据库查找用户信息,看输入的密码和选择的角色是否与数据库中的信息一样成功登录后,跳转到登录后的主页面,显示用户的基本信息用户名或密码错误,提示错误,并刷新到登录页面。图3-5:用户登入模块的逻辑图3.5.2用户的新增修改与删除1.增加用户模块描述:该模块用于添加用户模块的功能:系统先对输入的数据识别是否符合基本规范,如没错,则查询该用户账户是否已被注册。输入符合要求,成功的在数据库中增加该用户。并显示用户列表的页面。输入有错误,显示错误信息提示,并刷新页面,修改错误的地方。图3-6:添加用户的逻辑流程图2.修改用户模块描述:该模块用于修改用户。模块的功能:在数据中读取该用户的信息并显示在用户基本信息页面,待修改之后,点击提交,先验证输入是否符合规范,如正确,则修改数据库中的信息输入的符合要求,成功的在数据库修改数据,并显示出用户列表修改后的数据不符合规范,提示,并重新刷新页面。 图3-7:修改用户的逻辑图3.删除用户模块描述:该模块用于修改用户。模块的功能:系统提示你“是否真要删除” 处理无错误,正确删除图3-8:删除用户的逻辑流程3.5.3角色的增加修改与删除1.增加角色模块描述:该模块用于增加一个角色,使得管理员能够控制角色的权限。模块的功能:验证输入的名称是否符合规范输入的符合规范,将该角色的存入角色数据库。名称输入不符合规范,显示出图3-9: 增加角色的逻辑图2.修改角色权限模块描述:该模块用于修改一个角色权限。模块的功能:验证输入的角色信息是否符合规范,并查输入的角色是否已经存在。输入正确,成功的修改该角色信息。并存入数据库输入不符合规范,显示错误提示,该角色已经存在,提示你重新输入角色名。图3-10:修改角色权限逻辑图3.删除角色模块描述:该模块用于删除一个角色权限。模块的功能:系统提示你是否确定要删除,查找使用该角色的用户,看是否有用户使用该角色如果还有用户在使用该角色,则不能删除,要先删除掉这些使用该角色的用户后,才能删除该角色。图3-11: 删除角色的逻辑图3.5.4拼车网权限赋值子模块设计说明模块描述:因为拼车系统中涉及到了几种的不同角色,为了使得各个用户能正确的获得自己的信息,我们需要对每个用户赋予几种固定的角色,首先是拼车者,其次是司机,最后是拼车系统管理员。下面我将仔细说明如何给用户赋予权限。模块的功能:拼车网权限赋值子模块需求对不能的用户能赋予不同的权限模块的结构:图3-12:赋值权限模块结构图模块逻辑流程:图3-13:用户获得权限的顺序图具体实现方法描述: 首先我们需求给用户设定属性role,其初始设定为一个小于等于3的正整数。在用户初次注册时我们以可选的方式让用户选择其所需要扮演的角色,比如是拼车者就选拼车者,司机就选司机,数据库记录下选择并将role的值上传到数据库。这样当用户下次登入系统时选择相应的选项即可以以合适的角色登入进系统。这种方式即能使用户被赋予了角色。通过setrule()方法来给角色赋值权限。3.5.5拼车网权限视图控制子模块设计说明模块描述:该子模块用于控制各个角色的显示界面。不同的角色应该能显示出不同的界面。模块的功能:该模块应当能使得不同角色的用户显示出的视图不一样。模块的结构: 图3-14:用户显示视图控制模块结构流程逻辑:图3-15:用户显示视图控制模块流程图3-16:用户显示视图控制模块的逻辑图具体实现方法描述:权限管理系统从数据库中调用role的值,如果role值为1则将用户的登入界面转入siji.jsp这个页面,如果role的值为2则系统将转入carpooling.jsp 如果role值为0则系统转入management.jsp页面,我们通过这种方式即可以使得不同的用户登入不同的界面查询到的信息不一样。3.5.6用户权限更新模块设计说明模块描述该子模块用于系统增加修改删除和更新角色的各种权限,并使得用户能得到正确的显示.模块的功能该模块用于改变角色的权限使得需要修改用户权限时不用修改每个用户的role值.模块的结构图3-17:用户权限更新模块结构逻辑流程:图3-18:用户权限更新模块流程图图3-19:用户权限更新的逻辑图3.6小结本章主要描述了各个子模块的流程,并且对每个模块部分的实现做出了比较详尽的描述。首先本文分析的是如何给用户赋值权限,即是通过给用户赋值一个角色的方式,通过给角色来赋值权限的方法给用户赋值权限,然后本文具体的说明了如何通过不同的role值来显示用户正确页面,接着本文具体的分析描述了添加删除修改用户和权限实现方法,本节条理清楚的为小组成员权限管理系统开发做参考依据和指导。第四章系统运行结果第四章系统运行结果4.1概述本章主要对上述各个子模块的功能说明和结果截图展示。4.2拼车网用户登入界面功能说明 该子模块用于验证用户名密码角色信息是否正确。结果截图展示:图4-1:权限管理系统用户登入界面图4-1可以看出登入时我们填入用户名口令,并且选择角色进行登入。登入时如果用户名密码错误则会提示信息,登入时用户需要选择其具体的角色来进行登入。图4-2表示登入成功时系统显示的信息(图中以司机的角色登入)登入之后我们点击信息查询链接来查询司机所需要的信息图4-2:以司机角色登入模块之后的显示界面截图图4-3为司机正常登入之后选择查询信息的界面图,可以通过点击拼车人姓名链接来显示出详细的拼车人信息。图4-3:司机查询到的拼车人信息图图4-4是司机点入之后显示的某拼车用户相信信息。图4-4:司机点击用户李雷之后看到的信息4.3 管理员增加修改与删除用户4.3.1增加用户功能说明:管理员新增加用户名字,并且给用户赋值角色。截图展示:图4-5:管理员添加用户的界面截图图4-5中我们可以看出,管理员要增加一个用户,首先得给用户名字,作为其以后登入的方式,其次管理员要给用户选择角色。系统通过这种简单易行的方式来给用户赋值权限。2.3.2 修改与删除用户修改删除用户功能说明:管理员能看到用户列表,并且以直观的方式来修改或者删除用户信息。截图展示:图4-6是管理员修改删除人员信息的图示,可以通过修改来改变用户的权限与角色类别。图4-6:管理员看到的修改用户信息界面图4-6中我们可以看到管理员修改用户的界面,点击修改按钮之后管理员将能够对用户信息进行编辑,同时按钮改成保存按钮,当修改完之后点击保存按钮,即实现了管理员修改用户信息的功能。4.4 管理员增加修改与删除角色4.4.1 增加角色功能描述:该模块使得管理员能方便快捷的增加角色。截图展示:图4-7表示管理人员增加新角色的页面,图中我们可以看出我们可以通过勾取多选框的方式选择角色需要加入的权限,并且以文本框的方式来输入所需要加入的角色名字图4-7: 管理员新增加角色的界面截图图4-7中我们可以看出管理员增加一个角色的页面,管理员首先输入所需要添加的角色的名字,然后方便的通过多选框来给定这个角色所需要的权限,最后按添加按钮来实现新增一个角色的功能。4.4.2 修改角色权限功能描述:系统首先读取该角色现在有什么权限,然后显示为打勾状态,并列举所有其他权限,便于选取或者取消。截图展示:下图表示修改角色权限图4-8:管理员修改角色权限的界面截图图4-8显示了管理员修改一个角色时看到的页面,角色已经有的权限,显示的时候会显示已经打钩,没有的则显示的是空白,管理员可以通过点击打钩的多选框来实现对该权限的删除,也可以通过对空白多选框打勾来实现对权限的赋予。4.4.3 删除角色功能描述:该模块用于管理员删除角色截图展示:图4-9:管理员删除角色的界面图4-9中管理员首先选择要删除的角色名,其次点击提交按钮,如果系统还存在该角色的用户则给出删除失败的信息,如果没有该角色的用户则显示删除成功。4.5小结本章用清晰地截图显示了系统运行的与权限管理相关部分的功能截图,用户操作和角色操作在本章都能看到最终的结果,从结果中看出拼车网权限管理系统部分使用基于角色的访问控制技术取得了良好的成功。第五章总结和展望第五章总结和展望本章将对全文进行总结使得今后的类似研究更加简便。本文的主要目标是以拼车网权限管理系统开发各个模块分析为例,为今后的权限管理系统开发人员提一个解决方案便于今后开发人员的功能实现。首先本文分析和比较了目前权限管理系统的三种实现方式,即传统的自主访问控制(DAC:Discretionary Access Control)和强制访问控制(MAC: Mandatory Access Control),以及后来90 年代NIST 提出的基于角色访问控制(RBAC:Role-Based Access Control)。其次本文通过拼车网权限管理设计各个模块开发实例表明了基于角色访问控制的实现。最后本文对基于角色访问的拼车网各个模块进行了结果的展示,希
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 9.1病毒与细菌说课稿-苏科版(2024)初中生物学七年级下册
- 安全知识培训动画图课件
- 安全知识培训专业名词课件
- 应用与建模 体重与脉搏说课稿高中数学苏教版2019必修第一册-苏教版2019
- 海关生物安全常识培训课件
- 【借款协议】公司个人借款合同范本经典版7篇
- 车间求职申请书
- 牦牛贷款申请书
- 海事基本安全培训证书课件
- 6 水培高贵竹说课稿小学劳动人民版四年级下册-人民版
- 施工升降机安全技术培训材料
- 安全培训反三违课件
- 小学中段阅读教学讲座
- 土地属地管理办法
- (新教材)2025年秋期人教版二年级上册数学核心素养教案(第2单元)(教学反思有内容+二次备课版)
- 行车安全培训课件
- 机械检验培训课件
- 福建民间信仰管理办法
- 2.2中国的气候课件-八年级地理上学期湘教版
- DB11∕T 1130-2024 公共建筑节能运行管理与监测技术规程
- 2025电化学储能电站技术监督规程第5部分:化学与环保技术监督
评论
0/150
提交评论