免费预览已结束,剩余63页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文 RBAC模型在网络直销系统中的设计和实现The Design and Implementation of RBAC Model in Network Marketing System姓 名: 学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师:高星助理教授 年 月摘要网络直销具有品牌推广力度大、营销成本低、资金周转率高等优势,是一种蓬勃发展的营销模式。网络直销系统是用于支撑企业的网络直销战略的系统,是一个面对多种用户的大型购物平台。用户及权限管理是网络直销系统的一个重要组成部分,对于保证网络直销系统服务的安全性和保密性是十分重要的。通过比较RBAC(Role-Based Access Control)模型相对传统DAC(Discretionary Access Control)和MAC(Mandatory Access Control)模型的优势,本文提出了基于RBAC技术的用户及权限管理模块的设计和实现方案。论文从项目背景出发,先介绍了系统开发的背景和研究价值,并对当前的访问控制技术进行简单的介绍与对比,包括传统的强制型访问控制和自主型访问控制以及基于角色的访问控制技术。接着详细介绍了RBAC模型的基本思想和形式化描述。然后从系统建模、功能模块设计、数据库设计与优化、访问控制方案设计等方面详细介绍了应用RBAC模型的权限管理的设计和实现过程。最后论文针对系统的运行结果进行了分析和评价,指出了目前系统还存在的不足之处,并指明了下一步的改进计划。关键词:RBAC;权限管理;网络直销AbstractNetwork Marketing has many advantages such as great branding efforts, low cost and high liquidity. It is a kind of vigorous development of advanced marketing models. The Network Marketing system, which is used to support the network marketing strategy of an enterprise, is a large shopping platform for a variety of users. The user and permissions management is an important component of the Network Marketing system. It is very important for ensuring the security and privacy of the services of the Network Marketing system.By comparing the advantages of RBAC (Role-Based Access Control) model relative to traditional DAC (Discretionary Access Control) and MAC (Mandatory Access Control) model, the paper proposes a plan of the design and implementation of the user and permissions management module based on the RBAC model. The paper first describes the background and research value of the project, and gives a simple introduction and contrast of the current access control technologies, including traditional Mandatory Access Control, Discretionary Access Control and Role-Based Access Control. Second, the paper amply introduces the basic idea and the formal description of the RBAC model. Third, the paper focuses on the process of design and implementation of the permissions managements using RBAC model from aspects such as the system modeling, functional modules design, database design and optimization, and access control scheme design. Forth, the paper analyzes and appraises the running results of the system. Finally, the shortages of the current system, some possible improvements and future works were presented.Key words: RBAC; Permissions management; Network marketing目 录第1章绪论11.1背景11.2开发目标21.2.1整体目标21.2.2基于RBAC模型的用户及权限管理模块目标21.3课题意义31.4开发基本环境4第2章RBAC模型及主要技术介绍52.1RBAC模型简介52.1.1RBAC基本概念52.1.2RBAC的基本思想52.1.3RBAC的形式化描述72.2采用J2EE架构设计92.2.1J2EE的概念92.2.2J2EE的四层模型92.3SSH框架102.4Google Web Toolkit112.4.1Google Web Toolkit112.5本章小结12第3章概要设计133.1系统需求分析133.1.1系统总体功能需求133.1.2用户及权限管理模块功能需求143.2接口设计163.3数据库设计173.3.1ER图设计173.3.2数据库表格设计183.4出错处理设计193.4.1出错输出信息193.4.2出错处理对策193.5本章小结19第4章详细设计及实现204.1系统的结构204.1.1系统包图204.1.2系统流程图224.2用户管理设计说明234.2.1程序描述234.2.2功能234.2.3性能234.2.4输入项234.2.5输出项244.2.6流程逻辑254.2.7接口294.2.8限制条件344.2.9尚未解决的问题344.3组管理设计说明344.3.1程序描述344.3.2功能354.3.3性能354.3.4输入项354.3.5输出项364.3.6流程逻辑364.3.7接口404.3.8限制条件424.3.9尚未解决的问题424.4本章小结42第5章测试及运行结果435.1测试用例435.2运行结果455.2.1用户登录运行结果455.2.2用户管理运行结果475.2.3组管理运行结果505.3本章小结54第6章总结与展望55参考文献57致谢语59ContentsChapter1 Introduction11.1Background11.2Development Goals21.2.1The Overall Goal21.2.2The Goalof User and Rights Management Module21.3Task Significance31.4Bacic Environmental4Chapter2 Introduction of RBAC Model and Main Technical52.1Introduction of RBAC Model52.1.1Basic Concept of RBAC52.1.2Basic Idea of RBAC52.1.3Formal Description of RBAC72.2Introduction of J2EE Architecture92.2.1Concept of J2EE92.2.2Four Layers of J2EE92.3SSH Architecture102.4Google Web Toolkit112.4.1Google Web Toolkit112.5Summary12Chapter3 Summary Design133.1System Requirements Analysis133.1.1System Overall Functional Requirements133.1.2User and Rights Managements Module Requirements143.2Interface Design163.3Database Design173.3.1ER Diagram Design173.3.2Database Forms Design183.4Error Handing Design193.4.1Error Output Information193.4.2Error Handing Strategy193.5Summary19Chapter4 Detailed Design and Analysis204.1The Structure of the System204.1.1Package Diagram of the System204.1.2Flow Diagram of the System224.2Explanation of User Management Design234.2.1Procedure Description234.2.2Function234.2.3Performance234.2.4Input234.2.5Output244.2.6Process Logic254.2.7Interface294.2.8Restrictions344.2.9Unsolved Problems344.3Explanation of Group Management Design344.3.1Procedure Description344.3.2Function354.3.3Performance354.3.4Input354.3.5Output364.3.6Process Logic364.3.7Interface404.3.8Restrictions424.3.9Unsolved Problems424.4Summary42Chapter5 Operating Results and Analysis435.1Test Case435.2Operating Results455.2.1The Operating Results of User Login455.2.2The Operating Results of User Management475.2.3The Operating Results of Group Management505.3Summary54Chapter6 Conclusion55References57Acknowledgements59V第1章绪论第1章 绪论1.1 背景网络直销具有品牌推广力度大、反应速度快、营销成本低、对销售网络依赖度低、资金周转率高、回款速度快等优势,是一种蓬勃发展的先进营销模式。纽新体育网络直销系统用于支撑纽新的网络直销战略,定位于网络直销战略执行平台。其运行在纽新国际集团提供的WEB服务器上,面向三种角色提供服务。第一,面向普通消费者,他们可以在网站上浏览和查找自己喜爱的商品,方便快捷地完成挑选、购买等环节;第二,面向网店工作人员,他们可以完成如商品配置、活动策划、库存管理等功能;第三,面向公司管理人员和投资者,他们可以分析网站记录和积累的运营数据,科学地进行决策。纽新体育网络直销系统不但兼顾类似网站各项主要功能,同时还力求体现本网站的特色功能和技术。纽新体育网络直销系统面向多种角色,并为每种角色提供多种服务,不只是要求角色简单地进行注册登录,还要求不同类别的用户对资源有不同的操作权限,每种服务都对安全性、保密性有较高的要求;并且纽新体育网络直销店作为一个网上的购物平台,在用户购物过程中的每个具体环节都可能受到安全威胁。因此,构建强健的用户及权限管理模块,保证纽新体育网络直销系统的安全性是十分重要的。目前,权限管理系统是重复开发率最高的模块之一。在企业中,不同的应用系统都拥有一套独立的权限管理系统。每套权限管理系统只满足自身系统的权限管理需要,无论在数据存储、权限访问和权限控制机制等方面都可能不一样。这种不一致性存在如下弊端:(1) 系统管理员需要维护多套权限管理系统,重复劳动;(2) 用户管理、组织机构等数据重复维护,数据一致性、完整性得不到保证;(3) 由于权限管理系统的设计不同,概念解释不同,采用的技术有差异,权限管理系统之间的集成存在问题,实现单点登录难度十分大,也给企业门户带来困难1。 采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的用户及权限管理模块,使得用户及权限管理模块真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。本文介绍一种基于RBAC(role-based policies access control)模型的角色与权限管理模块的设计和实现,并将运用到纽新国际集团网络直销系统中,可以减小授权管理的复杂性,降低管理开销,还能灵活地支持企业的安全策略。1.2 开发目标1.2.1 整体目标纽新网店建设大致分为两个阶段:第一阶段实现纽新体育网站销售的各种基本功能,确保稳定运营;第二阶段在第一阶段的基础上,分析和实现各种高级功能。系统预期要实现的功能包括:客户(用户)管理、商品展示、购物流程管理、商品管理、促销管理、物流管理、系统管理、运营数据分析与决策支持、会员中心、论坛功能和帮助中心等。主要功能模块如图1-1所示:图1-1 系统主要功能模块1.2.2 基于RBAC模型的用户及权限管理模块目标对权限、角色、组和用户的添加、编辑、删除、查看、检索功能;注册用户、注册用户组、用户登录、用户加入组、为用户赋予角色、为角色赋予权限、为组赋予权限、对用户操作进行权限检测等功能。基于角色的访问控制模型的权限管理系统采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,提供了可以构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的用户及权限管理模块的可能性,使得用户及权限管理模块真正成为权限控制的核心,而且在维护系统安全方面发挥重要的作用。1.系统管理员维护统一的权限管理系统。2.用户管理、组织机构等数据的一致性、完整性。3.权限管理系统之间的可集成性,实现单点登录,方便构建企业门户。1.3 课题意义目前,企业权限管理系统常用的访问控制策略有自主访问控制(Discretionary Access Control,DAC)策略,以及强制性访问控制(Mandatory Access Control,MAC)策略2。其中,自主访问控制(DAC)策略是根据主体的身份和授权进行决策,规定了主体允许对客体进行的访问方式(如:读、写、执行等),但是其自主的特性:即该主体能将获得的授权给予系统中的其它主体,使信息的保密性不容易得到保证。而强制性访问控制(MAC)策略是将系统中的主体和客体分别根据其可信赖程度和敏感程度划分为不同的安全等级,例如从高到低可依次划分为:绝密、机密、秘密和一般。每一个主体和客体都属于一个安全级别。而主体对客体的访问必须满足:向下读取主体的安全级别必须高于所读客体的安全级别;向上写入主体的安全级别必须低于所写客体的安全级别。然而面对日益复杂的数据资源,特别是在企业环境中,这种对于级别的呆板划分就显得不合实际,非常困难。相比于自主访问控制策略和强制性访问控制策略,RBAC策略则具有以下优点:3(1)便于授权管理:当用户的职责改变时,只需在系统中给他分配新的角色取代现有的角色即可。(2)可以角色分级:在应用中业务的不同会形成角色级别。(3)赋予最小特权:只有必要时才给予角色能拥有的最小特权,这样就把隐患用减少到了最小。(4)便于职责分离:通过固定的方法(定义不能由同一用户执行的角色)或能动的措施(访问时强制执行),避免给予用户太多的特权。(5)便于客体分类:客体文件本身也可根据其类型进行分类,并按类授权给角色,以方便管理。(6)减小权限管理复杂度:“角色”中间环节的添加极大地简化权限管理复杂度,使系统的组织结构简洁灵活而且易于理解和表达。(7)降低管理开销:由于系统中的角色权限的关系相对于用户权限的关系更稳定,只有当业务发生变化或者结构重组时才有必要进行调整,因此提高了权限管理的效率和系统稳定性,降低了管理开销。RBAC模型的这些优势可以灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。利用RBAC模型构建纽新国际集团网络直销系统的用户及权限管理系统,对于构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的用户及权限管理模块,保证纽新体育网络直销系统的安全性是十分重要的。1.4 开发基本环境开发工具:Myeclipse、MySql、GWT开发语言:Java 开发平台:Windows测试工具:JUnit5959第2章RBAC模型及主要技术介绍第2章 RBAC模型及主要技术介绍2.1 RBAC模型简介2.1.1 RBAC基本概念(1)用户(Users)。用户就是一个可以独立访问计算机系统中的数据或者用数据表示的其他资源的主体,用户在一般情况下是指人。4(2)角色(Roles)。角色是指一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。一方面它表示了用户的职责划分;另一方面也表示了一类用户可以访问的系统的功能集合。5(3)权限(Permission)。权限是对计算机系统中的数据或者用数据表示的其他资源进行访问的许可。它可分为对象访问控制和数据访问控制两种。(4)会话(Session)。会话是一个动态概念,用户激活角色时建立会话,它是一个用户和多个用户的映射,一个用户可以打开多个会话。会话用于控制一个用户的多个角色之间的冲突,即当一个被赋予多个角色的用户使用系统时,这些角色将分属若干个会话。在任一时间用户只激活一个会话,从而在该时间内仅能扮演该激活会话中包含的角色,其他角色将被禁用6。(5)数据对象(Data Object)。即访问控制的客体(Object),通常是被调用的程序或存取的数据访问。72.1.2 RBAC的基本思想美国国家标准与技术研究院(the national institute of standards and technology,NIST)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(core RBAC)、角色分级模型RBAC1(hierarchal RBAC)、角色限制模型RBAC2(constraint RBAC)和统一模型RBAC3(combines RBAC)8。RBAC0模型如图2-1,RBAC1模型如图2-2。9图2-1 core RBAC(1)RBAC0定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。图2说明了用户分配(UA)和权限分配(PA)的关系。箭头表示一个多对多关系(例如,一个用户可以分配一个或更多的角色,一个角色可以分配给一个或更多的用户。)这种安排为权限-角色和用户-角色的分配提供了巨大的灵活性和粒度。每个会话是一个用户映射到可能的许多角色,即,当一个用户激活他/她所分配的角色子集时建立一个会话。每个会话都与单个用户关联,每个用户与一个或多个会话关联。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBACl、RBAC2、RBAC3都是先后在RBAC0上的扩展10。图2-2 hierarchal RBAC(2)RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。(3)RBAC2模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。(4)RBAC3包含了RBAC1和RBAC2,既提供了角色间的继承关系,又提供了责任分离关系。事实上,RBAC认为权限授权实际上是Who、what、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对what(which)进行How的操作”。目前,RBAC模型已经成熟到作为规定的访问控制的普遍方法。例如,最近RBAC被发现是“为多域数字政府的基础设施提供安全功能最具有吸引力的解决方案”并表现出其面对基于Web的应用的复杂需求的适宜。RBAC模型已经被证明是“政府中立”的,通过使用角色层次结构和约束,可表示一个广泛的安全政策。通过使用角色组织访问权限,安全管理也得到了极大的简化。例如,如果一个组织内的某用户移动到一个新功能,该用户可以简单地被分配到新的角色,并从旧的角色中删除,而一个RBAC模型的缺陷,用户旧的权限都必须单独撤销,并授予新权限。此外,管理限制可能需要强制执行,以防止信息被滥用和防止欺诈行为。一个典型的授权约束,是职责分离(SoD)。通过不容许任何人在系统内拥有能够单独犯罪的足够权力来降低诈骗风险是SoD的意图。通过使用RBAC模型,并对角色、用户-角色分配,以及角色-权限分配采用SoD限制条件,可以很容易的表示这些约束条件。此外,通过使用对用户分配的角色激活的限制,用户可以在登录的时候被赋予任何访问所需的最小权限。112.1.3 RBAC的形式化描述为了阐明在前两节提出的概念,我们列举一个简单的正式说明,从基于角色的访问控制的集合和关系角度来讲。对每个主体,激活的角色是该主体当前使用的角色:AR(s:主体)=主体s激活的角色。每个主体可以被授权执行一个或多个角色:RA(s:主体)=主体的授权角色。每个角色可以授权执行一个或多个事务:TA(r:角色)=角色R的事务授权。主体可以执行事务,如果主体s能够在当前执行事务t,exec(s,t)的谓词为真,否则为假:exec(s:主体,t:事务)=真,如果主体s能执行事务t。三种基本规则是必需的:121、 角色分配:一个主体只有在已选择或被分配一个角色时,才能执行一个交易:s:主体,t: 事务,(exec(s,t)AR(s)。鉴定和认证过程(如登录)不被认为是事务。所有系统上的其他用户活动是通过事务。因此,所有激活的用户都要求有一些激活的角色。2、 角色授权:一个主体的激活角色必须得到主体的授权:s:主体,(AR(s)RA(s)。加上上述的(1),这条规则确保用户只承担他们被授权的角色。3、 事务授权:只有当事务被授权给主体的已激活的角色时,该主体才能执行该事务:s:主体,t: 事务,(exec(s,t)tTA(AR(s))。加上(1)和(2),这条规则确保用户只能执行他们被授予的事务。请注意,因为条件是“只有”,这条规则允许在事务执行的过程中放置额外限制。也就是说,规则并不保证事务是可执行的只因为它是TA(AR(s),事务的集合通过主体的激活角色而潜在可执行。例如,一个作为监督角色的学员可能被分配“监督员”的角色,但是对他或她的用户角色增加了存取事务的限制,而成为那些允许这些事务的监督员角色的子集。 在前面的讨论中,一个事务被定义为一个转变过程,加上一组转换程序访问的数据项。在上述的角色访问控制中不需要任何检查用户访问数据对象的权限,或者访问一个数据项的事务过程的权限,因为数据是进入事务后才建立的。通过在设计时,进入一个事务绑定操作和数据来解决安全问题,如在保险查询事务时解决隐私问题。2.2 采用J2EE架构设计2.2.1 J2EE的概念目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。13J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2.2.2 J2EE的四层模型采用J2EE企业平台架构构建用户与权限管理模块。J2EE架构集成了先进的软件体系架构思想,具有采用多层分布式应用模型、基于组件并能重用组件、统一完全模型和灵活的事务处理控制等特点。用户与权限管理模块在系统逻辑上分为四层:客户层、Web层、业务层和资源层。14a. 客户层主要负责人机交互。可以使系统管理员通过Web浏览器访问,也可以提供不同业务系统的API、Web Service调用。b. Web层封装了用来提供通过Web访问本系统的客户端的表示层逻辑的服务。c. 业务层提供业务服务,包括业务数据和业务逻辑,集中了系统业务处理。主要的业务管理模块包括组织机构管理、用户管理、资源管理、权限管理和访问控制几个部分。d. 资源层主要负责数据的存储、组织和管理等。资源层提供了两种实现方式:大型关系型数据库(如ORACLE)和LDAP(Light Directory Access Protocol,轻量级目录访问协议)目录服务器(如微软的活动目录)。2.3 SSH框架SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate15。如图2-3所示。16图2-3 Struts, Spring, Hibernate体系结构Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Structs是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。Hibernate是一个JDO工具。它的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate提供的HQL是一种类SQL语言,它和EJBQL一样都是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL。2.4 Google Web ToolkitRIA带来了全新的Web用户体验,同时也简化了传统的Web开发模式。以JavaScript为基础的AJAX技术与现有HTML技术一脉相承,便于与第三方技术相整合,开发效率高,技术起点低,是RIA领域中当之无愧的王者。然而,AJAX并非没有缺陷。对于开发中小型项目来说,JavaScript有易用性、灵活性等优势,但是对于开发大型项目来说,它也存在着不少问题:代码编写具有随意性,不便于维护和团队合作;IDE无法完整地实现智能提示;变量类型和函数参数等的错误在运行时才会暴露出来;浏览器对JavaScript执行错误的提示简单且含糊,不便于调试和纠错;在不同的浏览器上存在着兼容性问题,开发人员必须针对不同的浏览器分别进行开发、调试和测试,工作量大等。17构建、重复使用以及维护大量 JavaScript 代码库和 AJAX 组件可能困难且不可靠。GWT完美而彻底地解决了JavaScript的这些弊端,为RIA开发注入了全新的活力。Google Web Toolkit (GWT) 允许开发人员使用 Java 编程语言快速构建和维护复杂但性能高的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。2.4.1 Google Web Toolkit有了 Google Web Toolkit (GWT),可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的 JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行18。在开发过程中,您可以用 JavaScript 按照您习惯的“编辑 - 刷新 - 查看”这种不变的循环快速反复,这样做还带来一个好处,即能够逐行调试并单步执行您的 Java 代码。准备好进行部署后,GWT 会将 Java 源代码编译到优化且独立的 JavaScript 文件中。使用 Google Web Toolkit 可以轻松地为现有网页或整个应用程序构建一个 Widget。使用 Java 语言编写 AJAX 应用程序,然后编译为优化的 JavaScript与仅在文本级别运行的JavaScript Minifier 不同,GWT 编译器会在整个 GWT 数据库中执行综合性静态分析和优化,通常生成的JavaScript 加载和执行均比等效手写的 JavaScript 更快。例如,GWT 编译器可以安全地消除无用代码 -极大的减少不使用的类别、方法、字段甚至方法参数 - 以确保您编译的脚本尽可能最小。另一个示例:GWT编译器选择性地内联方法,消除方法调用的性能开销。交叉编译提供了开发所需的可维护的提取和模块性,而不会导致运行时性能损失。2.5 本章小结本章就用户及权限管理模块所使用到的各项技术做了简单的介绍,并概述系统中所使用的各项技术的国内外发展现状。首先,重点介绍了RBAC模型的基本思想,即权限和角色关联,用户和角色关联。当角色被赋予相应的角色时,就拥有了对应于角色的权限。还阐述了RBAC模型框架和RBAC的形式化描述。其次,本章简单介绍了系统所使用的J2EE平台及基于J2EE平台的3种框架:Spring、Struts、Hibernate。最后,本章概述了系统在制作界面所使用的Google Web Toolkit工具箱,通过与JavaScript的对比,介绍了GWT工具箱的主要特征和优点。第3章概要设计第3章 概要设计3.1 系统需求分析3.1.1 系统总体功能需求纽新体育网络直销系统是一个庞大、复杂的网络直销系统,系统所要求的功能繁多。为了降低软件系统的复杂性,提高可读性、可维护性,我将系统模块化模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。经过模块化后的纽新体育网络直销系统的总体功能图如图3-1所示,图3-1 系统总体功能图下面将对图3-1中系统的各模块具体功能需求进行介绍:(1)客户(用户)管理客户管理模块负责对系统各种用户的信息进行管理、维护和使用。主要功能包括:1)顾客、普通员工、决策层、系统管理员等各种身份用户的注册、登录及权限管理;2)此外,该模块还包含顾客的信誉、积分、历史消费记录等信息的管理,协助其它模块完成功能。(2)商品展示商品展示模块的主要功能包括:1)美观生动地展示纽新国际集团提供的各种商品,并提供详细的描述信息;2)提供方便快捷的搜索功能,协助用户找到自己需要的商品;(3)商品管理商品管理功能负责对网络直销系统所经营的所有商品进行管理。其主要功能包括对商品属性、库存以及客户对该商品的评价的管理。(4)促销管理促销管理模块主要负责管理网络直销系统范围内的各种促销活动。(5)会员中心该功能模块为会员顾客的功能界面,会员在这个页面可以实现以下几类主要功能:1)对过往浏览过的商品和历史订单等进行记录和管理;2)可以管理会员资料、修改密码等功能;3)可以实现查看积分、获取礼品卡等功能。(6)论坛功能该模块主要为网络直销系统发布信息以及顾客相互交流提供场地。(7)进销存管理对纽新体育经营的各种商品提供进销存管理,使经营者掌握各种商品的销售情况,从技术上防止发生丢货、缺货、滞销等情况的发生。3.1.2 用户及权限管理模块功能需求纽新体育网络直销系统是一个较为庞大、复杂的系统,有多个功能模块,本人负责的是其中的客户管理的用户及权限管理模块,本文将着重于该模块的设计和实现。权限管理系统是一个特殊的综合系统,主要负责信息系统中的安全管理策略。19为了使息系统能够安全可靠的运行,必须建立一个严格的系统访问控制策略,同时使用技术手段保证访问控制策略的执行。本文采用基于角色的访问控制策略来设计和实现用户权限管理模块,根据RBAC模型基本思设计出的用户及权限管理模块功能如图3-2所示。 图3-2 用户及权限管理模块功能图(1)用户管理具有的新建用户、删除用户、查询用户的功能;在本系统中,用户只进行身份认证、识别,访问权限由分配的角色来决定. 同时用户管理模块可以将用户分配到不同的组里,再通过分配权限给所在组来获得相应权限。 (2)组管理尽管RBAC模型减少了授权管理的复杂性和工作量,但是在有些情况下安全管理员的授权工作仍存在着不少的减小空间。例如在一个系统中,有n个用户的工作职责完全相同,他们被授予的角色集(假定由m个角色组成)也是完全相同的,对此用户角色授权总次数为m*n次。而如果将这n个用户当作一个整体进行授权时,则只需m次。20针对上述情况,本文提出了在用户之中根据被授予的角色集合设置用户群组的方法,根据用户所从事的具体工作划分用户群组的方法,归为同一用户群组的各个用户具有相同的角色集,同时由群组取代多名用户接受角色授权,这样多次用户角色授权就被压缩为一次群组角色授权,大大减少了授权工作量,以减少安全管理员重复授权的次数。组的存在是为了更方便的管理用户,包括新建组、删除组、分配组权限、管理组内角色等功能21。(3)权限管理 权限是指“谁对什么是否能够进行某种操作”,更强的权限模型还引入了时间因素22,即权限只在限定时间内有效。访问控制的目的是根据分配的权限限制用户所能知执行的操作,从而保证信息系统的安全性。它通常由监控器在用户触发操作时执行。23本系统中权限管理主要负责权限维护工作,如新建权限、删除权限、修改权限和查询权限等,主要实现的是RBAC中的权限信息部分。(4)角色管理 角色管理模块是RBAC实现模型中的重要部分. 包括新建角色、删除角色、分配角色权限功能等. 分配角色权限主要是将权限与角色对应起来,形成角色权限关系表.3.2 接口设计(1)Interface Validator :String loginValidate(String username, String password);/验证用户登录,返回唯一标识Object loginValidate(String username, String password, int returnType);/验证用户登录,范围要求(returnType)的类型Boolean permissionValidate(String username, int permissionNumber);/验证用户权限boolean permissionValidate(int userID, int permissionNumber);/验证用户权限boolean permissionValidate(User user, int permissionNumber);/验证用户权限boolean isAlive(String identification);/通过唯一标识检查用户状态是否有效(2)Interface UserManager :List findUsersByProperty(Object o,String propertyName);/通过属性查找UsersUser findUserByIdentification(String identification);/通过唯一标识查找用户(3)Interface CmmunicationManager :boolean sendMessage(Crowd crowd,Message message,User sender);boolean sendMessage(User receiver,Message message,User sender);3.3 数据库设计3.3.1 ER图设计在用户及权限管理模块中,共设计了五个实体,分别是用户(User)、组(Group)、角色(Role)、权限(Permission)和群(Crowd)。如图3-3所示:图3-3 用户及权限管理模块ER图由图3-3可知,除了需要表来表示五个对象外,还需要表来描述对象之间的关系。1) 权限-角色对应表:存储权限与角色的一一对应关系表,每个关系拥有三个属性,权限编号、角色编号、权限类型(可授权、不可授权)。2) 组-角色对应表:存储组与角色的一一对应关系表,每个关系拥有两个属性,组编号、角色编号。3) 用户-角色对应表:存储用户与角色的一一对应关系表,每个关系拥有两个属性,用户编号、角色编号。4) 用户-群对应表:存储用户与组的一一对应关系表,每个关系拥有两个属性,用户编号、群编号。3.3.2 数据库表格设计根据模块功能需求,在数据库概念结构设计阶段通过设计和优化得到了E-R图,接着要将概念模型E-R图转换为相应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主管护师考前巩固试题及答案
- 2025年江苏省直机关遴选公务员面试真题及解析
- 2025年青海出租车考试试题模拟题
- -资料员之资料员基础知识通关考试题库带答案解析
- 2025年注册计量师《计量极业实务》时间频率卷
- 2025年农业技术员(中级)职业技能考核真题解析卷
- 华医网基层培训育理论考试真题
- 临床检验仪器复习题及答案
- 2021中级注册安全工程师《煤矿安全》模拟试题2
- 2025年吉林省白城市中考作文押题附范文分析
- 辽海版综合实践活动七年级上册同步课件教案81用好电子小帮手之活动一电子产品走近你我他
- 离职员工不损害公司声誉保证书
- 3.8 第1课时弧长的计算 浙教版数学九年级上册课件
- 初中语+文+第9课《从百草园到三味书屋》课件+统编版语文七年级上册
- Compiere-ERP中文环境的操作流程
- 2024年共青团入团积极分子团校结业考试试题库及答案
- 高标准农田改造提升建设项目投标方案(技术标)
- 市政设施养护维修服务规范(TZSZX002-2022)
- MOOC 创业团队建设与管理-首都经济贸易大学 中国大学慕课答案
- 居民死亡医学证明模板
- 大学英语口语演讲课件
评论
0/150
提交评论