




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文WEB环境下基于角色访问控制的设计与实现Design and Implementation of Role-based Access Control in Web Environment姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 教授 年 月摘要访问控制(Access Control)是网络安全防范和保护的主要核心策略,它的主要任务是保证网络资源不被非法使用和访问。访问控制规定了主体对客体访问的限制,并在身份识别的基础上,根据身份对提出资源访问的请求加以控制。它是对信息系统资源进行保护的重要措施,也是计算机系统最重要和最基础的安全机制。访问控制的目的是为了保护企业在信息系统中存储和处理的信息的安全。DAC是根据访问者和(或)它所属组的身份来控制对客体目标的授权访问。MAC是基于主体和客体的安全标记来实现的一种访问控制策略。以上两种访问控制模型都存在的不足是将主体和客体直接绑定在一起,授权时需要对每对(主体、客体)指定访问许可,这样存在的问题是当主体和客体达到较高的数量级之后,授权工作将非常困难。20世纪90年代以来,随着对在线的多用户、多系统研究的不断深入,角色的概念逐渐形成,并产生了以角色为中心的访问控制模型(Role-Based Access Control),被广泛应用在各种计算机系统中。基于角色访问控制(Role-Based Access Control)是实施面向企业安全策略的一种有效的访问控制方式。本文将对基于角色访问控制的基本思想和基本模型进行了介绍,并且从数据库的设计、角色的添加与访问控制的实现等三个方面给出应用RBAC模型的权限管理的解决方案。本方案设计根据RBAC中用户、角色、权限之间的关联关系分为用户管理和角色管理进行权限管理。实际系统中的应用表明,这种权限管理方案可以降低授权的复杂性,提高授权的安全性,具有极大地灵活性和广泛的应用性。关键字:访问控制;安全;基于角色访问控制;权限AbstractAccess Control is the principle core strategy of security and protection of a network, and its cardinal task is to ensure that network resources are not used and accessed illegally. Access Control sets the restriction to visit from subject to the object, and based on identification, it strengthens the manipulation of the request to access the resources according to the identity. Access Control is an important measurement to protect the information system resources and also it is the most essential and basic security mechanism of a computer system. To protect the security of information that the enterprise stores and handles in a information system is the intention of the Access Control. DAC is an authorized access to the target subject controlled by the visitors and (or) the identity of the group owning the visitors. MAC is an access control policy based on the secure tags from objects and subjects. The deficiency of the two models of access control mentioned above is the direct connection between objects and subjects, and the two have to assign the access permission to every couple(object, subject) when they are authorizing. It is difficult to authorize when the number of objects and subjects is increasing. Since the 90s of the 20th, with the deep study of multi-users of online and multi-system, the definition of role forms gradually, and come out a role-based access control. It is widely used in different kinds of computer systems.Role-based access control (RBAC) is a convenient, safe and efficient access control mechanism. This essay will develop the introduction to the basic ideas and basic models of Role-Based Access Control, and propose a solution of permission management based on RBAC model, which is according to some aspects, such as the design of database, roles adding and the implement of Access Control. According to the relationship among Users, Roles and Permissions in RBAC, the solution divides it into User management and Role management to implement the Permission management. Application of RBAC in real system shows that the permission management solution can reduce the complexity of authorizing, improve the authorization security, and this solution also has great flexibility and broad applicability.Key words: Access Control; Security; Role-Based Access Control; Permission目录第一章 绪论11.1现状11.2课题背景11.3 课题研究意义21.4目标3第二章 模型及主要技术介绍52.1 RBAC模型52.2 J2EE架构72.3 SSH框架82.4 GWT介绍9第三章 概要设计103.1 总体设计103.1.1 基本设计概念和处理流程103.1.2 角色、权限定义与权限配置113.1.3 系统模块结构与逻辑结构183.2 接口设计213.2.1 Validator接口介绍213.2.2 PermissionManageService接口介绍223.2.3 RoleManageService接口介绍243.3系统出错及处理设计273.3.1出错信息273.3.2补救措施27第四章 详细设计与实现284.1系统数据库设计284.1.1逻辑结构设计要点284.1.2 物理结构设计要点304.1.3数据结构与程序的关系324.2角色模块管理设计324.2.1 模块描述324.2.2 流程逻辑324.3权限管理模块设计354.3.1模块描述354.3.2流程逻辑35第五章 系统测试及运行结果375.1运行设计375.1.1运行环境375.1.2运行模块组合375.1.3运行控制375.2 测试环境375.2.1软硬件环境375.2.2网络拓扑385.3 测试用例395.3.1 功能性395.3.2 易用性395.4 程序代码与功能测试395.4.1 代码测试395.4.2 功能测试395.5 测试结果405.5.1 权限测试405.5.2角色测试435.5.3 数据库访问46第六章 总结与展望486.1论文总结486.2 工作展望48参考文献50致 谢52ContentsChapter 1 Preface11.1 Current situation11.2 Background of subject11.3 Research significance21.4 Subject target3Chapter 2 Introduction to models and main technology52.1 Model of RBAC52.2 J2EE Architecture72.3 SSH Frame82.4 GWT Technology9Chapter 3 Brief Design103.1 System Design103.1.1 Basic Design concept and procesure103.1.2 Definition of Role and Permision113.1.3 System module architecture and logical architecture183.2 Interface Design213.2.1 Introduction of Validator Interface213.2.2 Introduction of PermissionManageService Interface223.2.3 Introduction of RoleManageService Interface243.3 Design of System Faults273.3.1 Error Information Design273.3.2 Remedy Measurement Design27Chapter 4 Detailed design and implementation284.1 Design of System Database284.1.1 Logical Structure Design284.1.2 Physical Structure Design304.1.3 The relationship between data and program324.2 Role Management Design324.2.1 Description of Modules324.2.2 Logical Flow324.3 Permission Management Design354.3.1 Description of Modules354.3.2 Logical Flow35Chapter 5 Test and Analyse375.1 Runtime Design375.1.1 Runtime environment375.1.2 Combination of Runtime Module375.1.3 Runtime Control375.2 Test Environment375.2.1 Environment of Software and Hardware375.2.2 Net Topology385.3 Test Case395.3.1 Functionality395.3.2 Useability395.4 Test of Code and Function395.4.1 Code Test395.4.2 Function Test395.5 Test Result405.5.1 Permission Test405.5.2 Role Test435.5.3 Database Access Test46Chapter 6 Summary and future works486.1 Summary of this paper486.2 Improvements and future works48Referrences50Acknowledgements52VII致 谢第一章 绪论随着计算机技术和网络技术的发展,更多的企业喜欢建立并使用网站推广其品牌和事业,这有助于让更多的客户来了解该企业,然后带来无穷无尽的商机。事无完事,网站虽可说利多于弊,但同时深藏威胁。最让企业担心的隐患就是系统在网络这么多客流量和信息量的压力下,可不可以保护和处理好系统的信息。为了解决企业对系统信息安全性和操作合法性,出现了访问控制技术,以及基于角色访问控制技术。1.1现状随着网络技术的迅速发展,越来越多的系统构建在互联网上,B/S 模式已被广泛采用。和采用C/S 模式的系统相比,B/S 模式系统的安全问题更加突出,对用户进行权限分配授权管理是保证系统安全性的重要措施之一。访问控制1就是通过某种途径显示地准许或限制访问能力及范围的一种方法。作为保护系统安全的核心策略之一,访问控制技术的主要目标都是防止非法用户进入系统和合法用户对系统资源的非法访问2。访问控制技术2是由美国国防部(Department of Defense, DoD)资助支持的研究和开发成果演化而来。这项研究成果划分了两种基本的访问控制类型:直接访问控制(Discretionary Access Control,DAC)3和强制访问控制(Mandatory Access Control,MAC)3,4。随着安全需求的不断发展和变化,自主访问控制和强制访问控制已不能完全满足需求5,1992 年,David Ferraiolo 和Rick Kuhn 合作提出了基于角色的权限控制(Role-Based Access Control,RBAC)模型6。2004 年2 月,RBAC 被美国国家标准委员会(American National Standards Institute,ANSI)和IT 国际标准委员会(International Committee for Technology Standards)接纳为ANSI INCITS 359-2004 标准。1.2课题背景网络直销是生产商通过互联网直接接触最终用户,而不是以传统模式即通过批发商或零销商的一种蓬勃发展的先进的营销模式。网络直销具有品牌推广力度大、反应速度快、营销成本低、对销售网络依赖度低、资金周转率高、回款速度快等优势。戴尔公司、安利公司以及雅芳等企业都是先行者,现在更多的传统企业也开始使用网络直销模式进行网上产品的销售。纽新国际集团的网络直销店的建立也是迎合这一新兴营销模式。网络直销以互联网为基础, 涉及内容繁多,其使用者也各有不同。纽新直销网站把其使用者(访问者)定义为三种:购物者、店务管理者、领导决策者。访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体对访问客体的访问权限,从而使计算机系统在合法范围内使用,决定用户做什么,也决定代表一定用户利益的程序能做什么。纽新网络直销店使用了基于角色的访问控制方法,目前被公认的解决大型企业的统一资源访问控制的有效方法。1.3 课题研究意义管理信息系统,即要完成的纽新国际集团网络直销店的后台服务,是一个复杂的人机交互系统,其中每二个具体环节都可能收到安全威胁。构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的。权限管理系统是管理信息系统中科代码重用性最高的模块之一。任何多用户的系统都不可避免的涉及到相同的权限需求,都需要解决实体鉴别、数据保密性、数据完整性、防抵赖和访问控制等安全服务。例如,访问控制服务要求系统根据操作者已经设定的操作权限,控制操作者可以访问哪些资源,以及确定对资源如何进行操作。目前,权限管理系统也是重复开发率最高的模块之一。在企业中,不同的应用系统都拥有一套独立的权限管理系统。每套权限管理系统只满足自身系统的权限管理需要,无论在数据存储、权限访问和权限控制机制等方面都可能不一样,这种不一致性存在如下弊端:1. 系统管理员需要维护多套权限管理系统,重复劳动。2. 用户管理、组织机构等数据重复维护,数据一致性、完整性得不到保证。3. 由于权限管理系统的设计不同,概念解释不同,采用的技术有差异,权限管理系统之间的集成存在问题,实现单点登录难度十分大,也给企业构建企业门户带来困难。正因为这些原因,采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统,使得权限管理系统真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。本文介绍一种基于角色的访问控制模型的权限管理系统的设计和实现,系统采用基于J2EE架构技术实现,并以讨论了应用系统如何在WEB环境下进行权限的访问和控制。1.4目标整体目标建立基于角色访问控制的网络直销店,面向购物者、店务管理者、领导决策者等用户的网络直销店,开发期用户所需功能,兼顾类似网站各项主要功能,如BBS论坛、商品管理、网上商品交易等,同时力求体现其网站的特色功能,如模糊查询技术等,并让用户简单的进行注册登录,实现不同类别的用户对资源的不同的操作权限。基于角色访问控制在纽新国际集团的网络直销店的设计与建立的基本目标是为了限制访问主体对访问客体的访问权限,从而使计算机系统在合法范围内使用,决定用户做什么,也决定代表一定用户利益的程序能做什么。模块目标图1-1: 纽新国际网络直销店系统功能结构图纽新国际网络直销店系统大致包括如图1-1所示的几大模块:单击登录:模块提供使用者进入系统的通道,但要确认登录时使用的登录信息是正确的;通过登录信息,系统给使用者提供相应的操作权限。 单击登录模块给系统提供安全可靠地进入通道,把关每一个系统使用者的身份。购物流程管理:该模块主要负责订单,发货,确认收货,确认付款等用户在使用系统并在其上订购货物的流程管理。如何下订单,如何确认收货,如何支付等细节。商品管理:负责管理在网络直销店上出现的所有商品的全部信息。如商品名,商品编号,商品的基本信息,还有商品的增删改查等基本操作被提供在此模块,方便用户或管理员对商品信息的查看和维护。促销活动管理:系统会不定期的提供一些不同类型的促销活动,如会员卡活动,打折活动等。此模块会提供不同的促销活动类型,让用户在系统中享用特价活动所带来的优惠。提供促销活动类型,促销政策等,都在此模块中实现,提供给系统。用户及权限管理:此模块重点负责用户的增删改查,并对用户信息维护等,还有给每个使用系统的用户分配到不同角色和组中,让用户有用其角色或其被包含的组所分配到的权限。不同的权限有用对系统数据的不同操作,不能逾越自己权限对系统的数据乱操作。此模块对系统数据的安全性和维护性提供的保障。在下面重点介绍此模块的设计与实现。在用户及权限管理模块中,创建权限、角色、组和用户元素集合,并对每个元素集合实现其最基本功能,如添加、编辑、删除、查看和检索功能,方便于注册用户、用户登录等功能的实现。根据已创建的元素集合,建立集合间的联系:用户加入组、为用户赋予角色、为角色赋予权限、为组赋予权限、对用户操作进行权限检测。基于角色的访问控制在用户及权限模块,采用的统一的安全管理设计思想,规范化设计和先进的技术架构体系,提供构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的可能性,保证用户管理、组织机构等数据的一致性、完整性。第二章 模型及主要技术介绍第一章介绍了访问控制技术在当今系统中的状况以及本文要重点介绍和实现的基于访问控制技术的基本思想等。在本章会进一步深入介绍基于角色访问控制技术模型以及在设计与实现纽新国际网络直销店的权限管理系统所需要的相关技术。2.1 RBAC模型访问控制1是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法8,9。其显著的两大特征10是:1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。 RBAC 的基本思想2,7是在用户和权限之间引入角色的概念,利用角色将用户和权限解耦。通过角色与权限关联,用户与角色关联,用户可以由拥有角色而获得角色相应的权限,实现了用户与权限的逻辑分离。RBAC 的基本模型3,11如下图2-1所示:图2-1: RBAC 基本模型上图定义了构成RBAC 控制系统的最小的元素集合:用户users(USERS)、角色roles(ROLES)、对象objects(OBS)、操作operations(OPS)、权限许可permissions(PRMS)五个基本数据元素5,12。权限被赋予角色,角色被指定给用户,如此用户便获得了角色所拥有的权限。会话sessions 是用户与其相应的激活的角色集合之间的映射。RBAC 通过角色的引入,以对角色进行权限分配的控制取代了直接对用户进行权限分配的控制,增强了权限管理的灵活性,同时也降低了权限管理的复杂性;系统管理员可按照需要对权限进行分配,建立合理的角色,并把合适的角色指定给不同的用户,对授权的变化有很好的适应性和伸缩性。RBAC模型的基本原理13,14是在用户层面和权限层面中间加入角色,用户与角色相关联,角色与权限相关联,通过将合适的角色赋给用户,使用户具有角色所具有的权限,实现用户与权限的分离。图2-2: RBAC核心思想 更具体地解释就是,如图2-2所示,当一企业系统中有“经理”这一角色,其角色所拥有的权限有对系统数据的添加、删除、更新等。现有三个人员,人员1,人员2,人员3,他们可以是不同部门的,日常处理的工作也有所不同,但他们都是其所在部门的经理,所以他们对系统的权限是同等。如果不用角色访问控制,直接给这些人员授权,会连线繁多,看起来复杂。没有经过角色直接授权如图2-3所示,从用户-权限图可看到,其连线繁多,仅仅给三个人员授权就要每一人员四个需十二个连线,如果系统人员越来越多,连线数量级会大大超过想象。这对系统负担很严重。所以要如图2-2一样,用户与权限之间加一个角色,来缓解过多连线对系统的负担。即使在系统使用过程中,要改变以上三个人员的权限,只要改变与其联系的角色的权限,不必一个一个来修改,减轻了操作的重复性。图2-3: 用户-权限图2.2 J2EE架构采用J2EE企业平台架构构建权限管理系统。J2EE架构15集成了先进的软件体系架构思想,具有采用多层分布式应用模型,基于组件并能重用组件,统一完全模型和灵活地事务处理控制等特点。系统逻辑上分为四层:客户层、Web层、业务层和资源层。a. 客户层主要负责人际交互,可以使系统管理员通过Web浏览器访问,也可以提供不同业务系统的API、Web Service调用。b. Web层封装了用来提供通过Web访问本系统的客户端的表示层逻辑的服务。c. 业务层提供业务服务,包括业务数据和业务逻辑,集中了系统业务处理,主要的业务管理模块包括组织机构管理、用户管理、资源管理、权限管理和访问控制几个部分。d. 资源层主要负责数据的存储、组织和管理等。资源层提供了两种实现方式:大型关系型数据库和LDAP ( Light Directory Access Protocol, 轻量级目录访问协议) 目录服务器。2.3 SSH框架J2EE复杂的多层结构决定了大型的J2EE项目需要运用框架和设计模式来控制软件质量。目前,市场上出现了一些商业的、开源的基于J2EE的应用框架16,其中主流的框架技术有:基于MVC模式的Struts框架和基于IoC模式的 Spring框架以及对象/关系映射框架Hibernate等。表示层框架Struts Struts是一个在JSP Model2基础上实现的MVC框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。业务逻辑层框架SpringSpring是一个解决了许多J2EE开发中常见问题并能够替代EJB技术的强大的轻量级框架。轻量级指的是Spring框架本身,而不是指Spring只能用于轻量级的应用开发。Spring的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。与EJB这种庞然大物相比,Spring可使程序研发人员把各个技术层次之间的风险降低。Spring框架的核心是控制翻转IoC(Inversion of Control)/依赖注入DI(Dependence Injection)机制。IoC是指由容器中控制组件之间的关系而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。DI是对IoC更形象的解释,即由容器在运行期间动态地将依赖关系注入到组件之中。Spring采用设值注入和构造子注入的机制,通过配置文件管理组件的协作对象,创建可以构造组件的IoC容器。这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。Spring框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。Spring Core Container是一个用来管理业务组件的IoC容器,是Spring应用的核心;Spring DAO和Spring ORM不仅提供数据访问的抽象模块,还集成了对Hibernate、JDO和iBatis等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性;Sprnig Web模块提供了Web应用的一些抽象封装,可以将Struts、Webwork等Web框架与Spring整合成为适用于自己的解决方案。Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。数据持久层框架HibernateHibernate是目前最为流行的O/R mapping框架,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。Hibernate通过对JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于OO程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制xml映射文件。底层数据库的改变只需要简单地更改初始化配置文件(hibernate.cfg.xml或者perties)即可,不会对应用程序产生影响。Hibernate有自己的面向对象的查询语言HQL,HQL功能强大,支持目前大部分主流的数据库,如Oracle、DB2、MySQL、Microsoft SQL Server等,是目前应用最广泛的O/R映射工具。Hibernate为快速开发应用程序提供了底层的支持。2.4 GWT介绍GWT18是Google推出的Ajax应用开发包,支持开发者使用Java语言开发Ajax应用。通过GWT提供的编译器将JAVA代码转换为JavaScript代码,简化了开发AJAX开发工作。GWT提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。GWT封装了RPC(远程过程调用)机制,开发者可以方便地使用RPC完成异步通信。GWT提供了JSNI技术,它可以在GWT的java代码中 嵌入JavaScript代码。它是一种客户端与服务器端交换数据的方式。第三章 概要设计第二章主要介绍了要实现基于角色访问控制的用户及权限管理需要的相关技术和基于角色访问控制的基本理论支持,这些技术和理论在开发当中紧密配合,完成完整的用户及权限管理都有很重要的贡献。本文从这章开始正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计部分的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成程序细节上非常接近于源程序的软件表示。在本章会介绍总体结构、内部功能结构、两个模块基本功能的流程顺序和开发中所用到的接口设计,为以后更进一步设计打下了好基础。3.1 总体设计3.1.1 基本设计概念和处理流程内部总体功能框架图如图3-1所示:图3-1: 用户及权限管理功能框架图用户及权限管理模块包括角色、权限、用户及组四个基本概念。管理员需要创建系统所需要的角色、权限和组,还有若干个用户。创建内容包括角色、权限和组的基本数据,如名称、描述等,对于用户创建内容会较多,如名称、密码、邮箱、电话号码、真实名等等。在权限配置里,管理员可以把已创建的角色和权限数据建立对应关系,让一角色拥有若干个权限,也可让一权限被分配到若干个角色中,这样便产生带有权限的角色数据。管理员可以把已创建的用户数据添加到有效的用户组里,让用户与组有关联;在给用户附加角色的时,管理员可直接给一非组用户赋予若干个角色,也可通过给组赋予角色,让组包括的用户也间接得到委派角色的权限。可以给全部用户委派角色以便得到相对应的权限,也可放置用户无权限状态,反正最后这些处理过或没有处理过的数据安全的保存到数据库里各相关联的数据库表里。3.1.2 角色、权限定义与权限配置1 角色定义角色是指一个组织或任务中的工作或位置,代表了一种资格、权利和责任。角色时一种语义综合体,可以是一种抽象概念,也可以对应于具体应用领域内的职位和权利19。基于角色的访问控制方法的思想就是把对用户的授权分为两部分,用角色来充当用户行使权限的中介。这样,用户与角色之间以及角色与权限之间就形成了两个多对多的关系。系统提供角色定义工具允许用户根据自己的需要定义相应的角色。角色之间有相应继承关系,当一个角色r1继承另一个角色r2时,r1就自动拥有了r2的访问权限17。角色继承关系自然的反映了一个组织内部权利和责任的关系,为方便权限管理提供了帮助。角色继承关系提供了对已有角色的扩充和分类的手段,使定义新的角色可以在已有角色的基础上进行,扩充就是通过增加父角色的权限去定义子角色,分类通过不同子角色继承同一父角色来体现。另外还允许许多继承,即一个角色继承多个父角色,多继承体现对角色的综合能力。角色本身的管理是整个RBAC模型中最复杂的部分,由于角色的继承关系会影响到用户角色指派和权限角色指派,因此系统管理员可管理的角色区间会更加严格19。角色定义流程图如图3-2所示:图3-2: 角色定义流程图从上图3-2可见,角色模块里包括创建角色、编辑角色、删除角色、搜索角色。创建角色、编辑角色时,设置角色的基本信息,如角色名,角色编号,角色权限,还有角色与角色之间的关系;搜索角色,查看角色时,便能查看相对应角色的基本信息,拥有该角色的用户信息,以及该角色所分配到的权限;在删除的时候不能直接删除,而是要进行一次判断,判断该角色是否是系统默认角色,即基本角色,如果是不能删除,如果不是可直接删除。接下来本文会一一画出角色模块的几个功能流程图,详细介绍其操作流程,以及代码实现时要考虑的一些功能细节。创建角色创建对象对每系统来说都是最初始化操作,创建出来的对象如同一本书的内容,如果没有这些内容,系统只是如同空壳,没有内容可供使用者操作,即毫无使用价值可言。所以在角色模块里,系统管理员也要根据使用该系统的公司的实际情况创建基本角色以及额外角色,供使用者选择。图3-3描述了创建角色的基本流程。图3-3: 角色创建流程图管理员点击页面上的添加按钮,开始创建角色。首先在角色名称中输入可用名称,系统会根据输入的名称与数据库已存在的角色名称对比,判断是否可用,如果已存在,则提示管理员重新输入,直到满足可用角色名称;然后给该角色输入相关描述内容,描述内容可有可无,是可选项内容,管理员在初始阶段可以不用进行描述,在后续管理的时候可以进行一定描述;然后有权限分配,此内容也可输入也可忽略,如果管理员刚开始不知道给角色什么样的权限可以留着在后续管理的时候进一步分配权限。创建完的角色数据存储到数据库中相关的角色表和与角色表关联的权限表。搜索角色介绍完创建角色,接下来介绍如何在系统中查找指定角色。如图3-3流程完成后,系统里已存在了若干个角色对象。因为每个角色属性的不同,还有使用者要参考的数据的不同,系统要提供使用者搜索功能,以便让使用者以最便捷的方式查找他们所需的制定角色。图3-4便解释如何查找角色的搜索流程过程。 图3-4: 角色搜索流程图管理员对角色进行检索功能,检索条件有按角色ID、角色名、角色状态(可用、禁用)等。开始默认状态所显示的数据是检索条件为“全部”的时候,页面上显示所有角色的数据;管理员检索开始,可以在条件输入框输入与条件可选项相关联的数据来搜索对应的角色信息。检索支持模糊检索,所以当管理员输入不完整数据的时候,系统会显示与已输入信息有关的全部;在对角色状态检索的时候,角色分为可用状态角色与禁用状态角色,可用状态角色即是系统正使用的角色,相反禁用角色,则就是暂时或永久不适用的角色。在有些情况下,禁用角色可以在特定条件下激活,所以状态检索方便管理员对角色的便利操作和维护。2 权限定义权限是对计算机系统中的数据或者用数据表示的其他资源进行访问的许可。权限一般是一种抽象概念,表示对于某种客体资源的某种操作许可。例如数据库系统中的选择、插入、删除等。权限可分为粗粒度权限和细粒度权限,在完成的设计中,实现粗粒度权限,即仅考虑对象的类别,不考虑对象的某个特定实例。如,用户管理中,创建、删除,对所有的用户都一视同仁,并不区分操作的具体对象实例。对于细粒度权限来说,它是在考虑粗粒度的对象类别之后才再考虑特定实例,如,合同管理中,列表、删除,需要区分该合同实例是否为当前用户所创建等。权限逻辑需要配合业务逻辑,权限系统以为业务逻辑提供服务为目标。系统提供足够多但不是完全的控制能力,即设计原则就是:系统只提供粗粒度的权限,细粒度的权限被认为是业务逻辑的职责。所以将设计出的系统的访问控制模块仅是一个不完全的访问控制模块,即它不提供所有关于权限的问题解决方法,只提供一个基础,并解决那些粗粒度权限部分。图3-5显示权限定义的流程图:图3-5: 权限定义流程图初始化系统中不存在权限,所以要先要创建权限,要设定权限名、对权限的描述、权限编号等,编辑功能可以修改权限的基本属性;搜索功能按权限名、权限编号等查找并查看对应权限的内容,包括权限基本信息、权限与角色的关系,即可以知道哪些权限配置给了哪些角色等;删除权限,一般都不会用到,但如果真删除权限的时候要先判断该权限是不是默认权限,即基本权限,如果是就不能删除,如果不是系统管理员可以按需求删除此权限。接下来本文会一一画出权限模块的几个功能流程图,详细介绍其操作流程,以及代码实现时要考虑的一些功能细节。创建权限初始系统里不存在权限的具体内容,需要管理员根据使用该权限管理系统的公司所要求创建基本权限。如果没有设定权限对系统加以保护,使用者可以对系统的数据乱操作,导致系统数据的不确定性和不准确性,甚至危及到整个系统的安全,所以最初阶段,要创建基本权限,限制使用者对系统的操作范围。图3-6解释了创建权限的流程过程。图3-6: 权限创建流程图管理员在页面上点击“创建”权限按钮,开始操作。在名称输入框输入权限名称,系统会自动匹配与数据库中已存在的权限名称,判断输入名称是否可用,如果不可用,则提示管理员重新输入新名称,直到输入可用权限名称。权限描述框是可选不可选的一栏,管理员可以一开始对权限进行描述,但如果不知道如何描述时可以跳过,还是可以正常创建权限的。创建完的权限数据,会存储到数据库中相对应的表,即权限表中。搜索权限介绍完创建权限,使用者可以对系统权限进行搜索操作,获得有关指定权限的相关信息。图3-7表示了可模糊并按条件搜索权限的流程过程。图3-7: 搜索权限流程图权限检索与之前的角色检索差不多,都是条件检索,包括全部、权限ID、权限名称、状态等。管理员通过在检索框中输入与对应的检索条件框相符的数据,在页面可得到想要的数据。得到的数据管理员可以进行编辑、删除、查看等操作,以便于管理员能更好的维护数据。状态检索也是按照权限当前状态中的标示符来判断,是可用还是禁用。权限是不可以随便删除一旦创建后,所以基本上所有权限都保存在数据库中,因为状态的不同可以选择是显示在页面还是不显示在页面。3 权限配置角色是一组访问权限的集合,一个用户可以是很多角色的成员,一个角色也可以有很多个权限,而一个权限也可以重复配置于多个角色。权限配置工作是组织角色的权限的工作步骤之一,只有角色具有相应的权限后用户委派才能具有实际意义。权限配置流程图如图3-8所示:图3-8: 权限配置流程图系统管理员在已存在的角色中选中一个,准备给该角色赋予相对应的权限;然后在已设定好权限的模块中选中与之前选定的角色有关的模块,并将配置好的模块权限授予角色,让拥有该角色的所有用户对有权限的模块进行安全操作。3.1.3 系统模块结构与逻辑结构1模块结构整个系统的软件结构如图3-9所示:图3-9: 纽新国际网络直销店结构图整个系统分为前台服务,即客户端,和后台服务,即服务端。前台服务设计包括:论坛功能、物流管理、购物流程管理、帮助中心、会员中心、商品展示等。这些功能都是以可视化界面形式显示给用户,其相对应的功能都是后台提供,所以客户端通过借用接口调用后台所提供的方法供用户使用。服务端设计包括:促销管理,客户管理,系统管理,商品管理等,还有数据库设计。负责的用户及权限管理属于服务端设计,即包含在客户管理和系统管理中。在纽新国际集团网络直销店项目中,用户及权限管理模块结构图如3-10所示:图3-10: 用户及权限管理结构图1 用户管理:主要对系统用户进行管理,用户信息进行数据维护和数据利用,包括个人基本信息的添加,删除和修改,用户信息的查询等。2 组管理:主要对系统里的组管理,包括创建新组,对组成员的查看,对组基本信息的查看,修改,查询和删除等基本操作。3 角色管理:主要对系统设定的角色管理,包括创建新角色、对角色的查看、更新、查询和删除等基本操作。4 权限管理:主要对系统设置限制操作,对这些操作资源的管理,包括对权限的创建、查看、更新、查询和删除等。本系统对该模块性能的规定为:1 对该系统使用者限制操作权限。如后台管理员和系统管理员等可以对系统有几乎所有可能的操作,查看,添加,删除和查询等基本操作都可以使用;相比之下,普通用户就只能得到查看和查询信息的操作可能。2 模块要保护、维护系统数据的安全性和完整性。不可以让前台对数据的操作对后台数据有太大影响的操作。2逻辑架构图3-11是用户及权限管理中包设计中涉及角色与权限的部分包图:图3-11: 用户及权限管理包图client包主要包含可视化界面,包括角色、权限、用户和组四个模块的界面。图中只显示了角色和权限,具体包括角色和权限的添加界面、编辑界面、查看界面和删除界面。service包里主要提供接口,四个接口对应角色、权限、用户和组,每一接口包含若干个方法,提供给client让客户端调用。Server包主要是service包所提供的接口里方法们的实现。创建、编辑、删除、查看、搜索等对角色与权限的操作,显示在界面让管理员操作,当管理员点击对应的按钮,按钮会调用service包里的接口方法,然后通过server包提供的实现方法,管理员可以得到相应的操作结果。对于角色来说,分配权
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸白糖合同范本
- 2025年社会工作实务与技巧考试卷及答案
- 2025年职业教育课程设置考试题及答案
- 2025年团队管理与领导力开发考试卷及答案
- 2025年创意写作职业资格考试试卷及答案
- 2025年医学影像学专业考试试题及答案
- 2025年保险从业资格考试试题及答案
- 连锁餐厅店长每日工作流程
- 德育与教育的共生关系
- 2025关于标准店铺租赁的合同范本
- 档案数字化存储方式试题及答案
- 语文综合实践:走进传统节日探寻文化根脉 课件-【中职专用】高一语文同步课堂(高教版2023基础模块下册)
- 夏季防蛇防虫课件教学
- 教师课堂教学评价标准
- 去极端化教育宣讲
- 光伏防火培训课件
- 家长讲堂:法制主题教育
- 肿瘤科进修心得体会护理
- 第五单元 生物与环境 大单元教学设计-2023-2024学年科学四年级下册苏教版
- 生长激素在临床中的应用
- 武汉市2025届高中毕业生二月调模拟卷试题
评论
0/150
提交评论