




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)网络化制造门户网站设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 i 网络化制造门户网站设计与实现 学 科: 计算机应用技术 研 究 生: 韩 蓄 (签名: ) 导 师: 张 璟 教授 (签名: ) 答辩日期: 摘 要 摘 要 随着计算机网络的普及应用,门户网站日益成为人们获取信息、传递信息的重要 途径,而门户网站中的访问控制技术、系统集成技术则成为门户网站设计与开发取得 成功的关键技术。作者在研究这些核心技术的基础上,基于 windows server 2003 环 境完成了关中网络化制造门户网站的分析、设计、编码与测试工作。 本门户网站系统提供了灵活的访问控制策略,能够有效阻止对系统的越权访问; 提供了可行的系统集成和单点登录机制,集成了不同的应用系统,避免了用户重复登 录所造成的麻烦;具有合理、灵活的网站结构,不仅能方便系统管理员的管理,而且 有利于系统的扩展。 本文详细阐述了使用面向对象技术进行门户网站系统开发的基本方法和技巧,以 及系统的分析、设计和实现的过程。 关键字:门户网站,访问控制,系统集成,单点登录 abstract ii design and implemention of netwokting manufacture portal design and implemention of netwokting manufacture portal specialty : computer application technology author : han xu (signature: ) supervisor: prof. zhang jing (signature: ) abstract with the extension of networking in our office, portal becomes the chief way gradually in getting and conveying information. the control of access and the integration of system become the master key in the design and development of portal. the author completes the analysis, design, programming and test of guanzong networking manufacture portal based on the research of the control of access and the integration of system, using windows server 2003 circumstance. the system has flexible control of access and can keep from assessing of beyond ones commission; the system has feasible scheme of the integration of system and single sign-on, this not only integrates every application but also avoids the trouble of login again; the system has flexible construction, this not only conveniences the manager of admin but also advantages the extend of system. the paper exposes essential method and skill in the design of system using the idea of orient-object and the procedure of analysis, design and programming. keywords: portal, control of access, integration of system, single sign-on 引言 1 1 引言 1 引言 1.1 课题简介 关中高新技术产业带位于陕西省中部,汇集了全省 80以上的人口和 大部分工业企业,集中了陕西甚至整个西部最密集的工业基础与科研力量, 对陕西省乃至整个大西北的经济发展都起着决定性的带动作用。面对关中 高新技术产业带,推行网络化制造系统成为盘活关中地区制造和技术资源 存量、强化关中制造企业竞争能力、最终实现关中地区经济跨越式发展的 根本出路。为此,西北工业大学、西安交通大学、西安理工大学于 2002 年 8 月向国家科技部申请了“关中高新产业带网络化制造系统开发与应用”重 大项目。该项目的主要任务是开发关中高新产业带网络化制造系统集成平 台,以及三个应用系统:基于网络的产品创新设计支持、具有快速响应机 制的开放式制造支持、制造资源优化配置与服务。其中每个应用系统又包 括若干个子系统。系统整体结构如图 1-1 所示: 关 中 产 业 带 网 络 化 制 造 系 统 集 成 平 台 产品创新设计支持系统 具有快速响应机制的开 放式制造支持系统 网络化制造资源优化配 置与服务系统 集成服务平台 计算机辅助产品概念设计子系统 分布式核心知识支持子系统 智能化产品设计支持子系统 大型复杂产品数控加工网络化服务子系统 制造过程仿真和模拟子系统 工装快速设计制造子系统 基于企业联盟的工艺规划子系统 制造资源网络化优化配置子系统 网上服务工具集 培训与咨询服务 平台基础服务系统 应用系统集成框架 快速成型与逆向工程子系统 计算机辅助工业设计支持子系统 图 1-1:关中高新技术产业带网络化制造系统结构图 西安理工大学硕士学位论文 2 本课题的任务是完成项目中集成平台门户网站设计与开发工作。门户 网站的主要功能有两个:对内将各个应用系统连接起来,作为应用系统集 成的平台,对外作为关中网络化制造系统的门户。 1.2 课题意义 该课题的预期目标是通过先进制造技术、信息技术、网络技术及管理 技术的综合运用,构建区域内系统开发和应用服务平台,创建良好的企业 间资源配置的信息环境,降低关中地区企业间及与国内外企业间资源整合 的实施成本,使大量分布在不同地域、不同行业、具有不同优势的制造资 源实现集成,改善关中制造业的整体竞争力,发挥关中高新技术产业带的 科技与制造资源优势,提高关中高新技术产业带企业的产品创新能力,为 实现关中地区产业与经济的跨越式发展和西部大开发战略提供有力的技术 支持。 1.3 主要研究与开发工作 本课题的主要研究与开发工作如下: (1) 门户网站开发技术研究 (2) 基于角色的访问控制技术研究 (3) 单点登录技术研究 (4) web 服务技术研究 (5)网络化制造门户网站的分析、设计、编码与测试 需求分析 3 2 需求分析2 需求分析 2.1 系统需求 根据调研,关中产业带网络化制造门户网站总体需求表 2-1 所示: 表 2-1:系统总体需求表 标号 系统需求 1 访问控制 2 单点登录 3 后台管理 4 应用系统管理 5 信息检索 6 系统安全 7 访问日志 其中,访问控制部分要求系统提供灵活的访问控制,对用户进行分组管 理,针对每一个用户组分配相应的权限,而不是针对每一个用户分配权限。 此外,由于网站内容较多,要求能够根据系统需要对用户组实行分级管理, 管理员可以将网站的内容分块,对于每一块指定特定的人员进行管理。本 系统采用基于角色的访问控制来满足上述需求。访问控制部分可以分解为 表 2-2: 西安理工大学硕士学位论文 4 表 2-2:访问控制需求表 标号 系统需求 1.1 添加、修改、删除角色 1.2 启/停角色 1.3 添加、修改、删除用户 1.4 启/停用户 1.5 为用户分配角色 1.6 将用户从角色中删除 1.7 添加、修改、删除权限 1.8 为角色分配权限 1.9 取消角色的权限 单点登录要求门户网站和各个应用系统共用一个登录界面,注册后的 用户实行集中管理。所有用户都必须经由门户网站验证身份,通过身份验 证的用户能够在各个应用系统之间漫游,而不需要进行二次登录。为实现 单点登录,需要开发一个能够为所有的应用系统所接受的验证系统,由门 户网站和各个应用系统所共用。用户输入登录名和密码进行验证,通过验 证后系统保留登录名和密码,待用户登录应用系统时将用户名和密码一同 传送给应用系统,为了保证传输的过程中发生信息的篡改和伪造,应用系 统再次将用户名和密码带入验证系统进行验证。其中验证系统采用 web 服 务技术来实现。 后台管理部分要求能够对网站的所有用户、所有用户组、所有权限、所 有网站内容进行灵活的管理。 应用系统管理部分要求门户网站为每一个应用系统指定管理员, 各个应 用系统管理员相互独立,每个应用系统管理员有权修改自己的系统、查看 本系统的访问日至,而无权修改别的应用系统,无权查看别的系统的访问 日至,而超级管理员则有权对子系统的管理员进行管理。 需求分析 5 2.2 系统用例图 2.2.1 系统顶层用例图 2.2.1 系统顶层用例图 根据前述系统需求,设计出系统的顶层用例图如图 2-1 所示。其中系统 的执行者分为系统管理员、一般用户、注册用户。 访问控制 管理网站内容 管理访问日志 一般用户 检索信息 系统管理员 集成应用系统 需求发布 产品发布 注册会员 图 2-1:系统顶层用例图 2.2.2 访问控制用例图 2.2.2 访问控制用例图 访问控制用例图如图 2-2 所示,其中,访问控制采用基于角色的访问 控制技术。 西安理工大学硕士学位论文 6 管理用户 管理角色 管理用户和角色的对应关系 管理权限 管理权限和角色的对应关系 管理栏目访问权限 管理模块编辑权限 管理访问栏目的角色 管理编辑模块的角色 系统管理员 (from use case view) 访问控制 (from use case view) 图 2-2:访问控制用例图 2.2.3 网站内容管理用例图 2.2.3 网站内容管理用例图 网站的内容管理主要包括对栏目的管理,对模块的管理和对模块内容 的管理,其中栏目管理部分可以调整网站的布局以及栏目与模块的对应关 系,模块管理部分包括模块内容的管理和模块位置的管理。网站内容管理 用例图如图 2-3 所示: 需求分析 7 管理栏目 管理模块 管理模块内容 管理栏目与模块的对应关系 管理模块类型 管理模块与类型的对应关系 管理网站布局 管理模块的上下位置 管理模块左右位置 管理新闻 管理图片 管理链接 管理网站内容 (from use case view) 图 2-3:内容管理用例图 2.2.4 应用系统集成用例图 2.2.4 应用系统集成用例图 应用系统集成主要包括对各应用系统的管理、统一用户注册和登录。 其中单点登录又可以分为统一用户信息管理、统一用户验证系统和统一参 数传递等部分,其用例图如图 2-4 所示: 西安理工大学硕士学位论文 8 管理子系统路径 管理子系统介绍 管理子系统管理员 设计单点登录统一注册统一登录 统一用户管理 统一验证系统统一参数传递 系统管理员 (from use case view) 集成应用系统 (from use case view) 图 2-4:应用集成用例图 系统体系结构 9 3 系统体系结构 3 系统体系结构 3.1 系统体系结构设计 3.1.1 系统物理体系结构 3.1.1 系统物理体系结构 系统物理体系结构如图 3-1 所示。为了保障系统的安全,将系统的数 据库服务器放于防火墙之后,而 web 服务器放于防火墙之前。 数据库服务器 (sql server) web服务器 (iis6.0) 浏览器 1 浏览器 2 浏览器 3 防火墙 图 3-1:系统物理结构图 3.1.2 系统逻辑体系结构 a. 三层架构概念 3.1.2 系统逻辑体系结构 a. 三层架构概念 系统开发采用典型的三层 b/s 架构。三层架构是把 client/server 架 构中的业务逻辑抽取出来,作为独立的一层-业务逻辑层,置于 client 层 和 server 层之间。它克服了传统 client/server 架构的缺点,具有更好的 可扩展性和灵活性。 在三层架构中,应用程序按功能被划分为表示层、业务逻辑层、数据 层。各层主要功能如下: 西安理工大学硕士学位论文 10 (1) 表示层:仅包含与用户接口有关的部分。它负责接收用户的数据请求, 并将该请求直接或经本地处理后传递给业务逻辑层。 (2) 业务逻辑层:是应用程序核心所在,所有应用程序的处理逻辑都主要 集中在该层。该层接收表示层的数据请求,并将该请求传递给数据 层, 并对数据层返回的数据进行加工处理, 再将结果传递给表示层, 起到一个承上启下的作用。由于对数据的加工处理主要集中在该层 进行,所以该层与数据层之间有大量的数据传输。 (3) 数据层:用来存放应用程序所处理的数据,接收业务逻辑层的数据请 求,并将满足请求的数据返回给业务逻辑层。 b. 本系统三层架构的实现 b. 本系统三层架构的实现 本系统采用微软的.net 开发环境,web 服务器为 iis6.0,数据库采用 sql server 2000, 所实施的三层架构如图 3-2 所示。 其中, 表示层为 表单的前台部分;业务逻辑层包括三部分: 表单的后台部分、基于 orb 的中间件和数据库应用程序; 数据层采用 sql server 2000 数据库系统。 表单 (.aspx) 页面逻辑 .aspx.cs 基于orb的 中间件(.dll) 数据库应 用程序 sql server2000 表示层 数据层 业务逻辑 层 图 3-2:系统逻辑分层结构图 系统体系结构 11 在图 3-2 中,表示层的主要部分为 表单,另外还有用户控件、 服务器端控件、客户端控件等,该层将用户的请求转交给业务逻辑层的页 面逻辑部分,页面逻辑调用基于 orb 的中间件,将请求转交给数据库应用 程序。基于 orb 的中间件主要完成业务规则的控制和对数据库应用程序的 访问,由于是以构件的形式提供的,所以一个构件能被多个客户服务程序 调用,实现了软件复用。数据库应用程序主要是进行数据存取和保证数据 完整性的存储过程和触发器,它将数据提交给业务逻辑层,后者对数据进 行格式化后传递给表示层,呈现给用户。本项目中基于 orb 的中间件如图 3-3 所示: configurat ion.dll managen ew.dll tab.dllmodule.dl l user.dllrole.dllsecurity. dll managel og.dll image.dll 图 3-3:系统构件图 c. 三层架构的优点 c. 三层架构的优点 (1) 各层功能明确,与实际问题有明确的对应关系,简化了设计工作。 (2) 在数据访问层、业务逻辑层和用户界面层之间有一个清晰的界限把三 层隔离开,提高了代码的重用率,使得维护和增强系统功能变得很容 易。 (3) 分层使得开发也变得很容易,因为按照这种分层,开发人员可以分为 西安理工大学硕士学位论文 12 数据库开发、业务逻辑开发和页面开发三部分,这三部分都可以把注 意力集中在自己的工作上,互不干涉,有利于产品的并行开发。 (4) 有效的实现了显示代码与逻辑代码的分离,有利于工程的维护。 (5) 所有对数据的访问都是通过存储过程来完成,而不是直接对基本表进 行操作,这在一定程度上保障了数据的安全性,并且提高了系统的执 行效率。 3.2 系统开发环境与软硬件配置 系统环境:操作系统采用微软的 windows server 2003,开发环境采用 微软的 visual studio .net 2003。 系统软件配置:web 服务器为 iis 6.0,数据库为 sql server 2000。 系统硬件配置:web 服务器、数据库服务器、防火墙服务器各一台。 3.3 系统涉及的关键技术 3.3.1 基于角色的访问控制(rbac) 3.3.1 基于角色的访问控制(rbac) rbac 的前身是 dac 和 mac。1985 年美国军方提出可信计算机系统评估 准则,描述了两种安全策略:自主访问控制(dac)和强制访问控制(mac) 。 dac 允许用户把他对客体的访问权授予其他用户或从其他用户那里收回它 所授予的访问权,这是基于客体用户所属关系的访问控制。mac 是一种多 级访问控制策略,它依据主体和客体的安全标识来决定主体可否访问客体。 在实施的过程中,这两种安全策略各有其局限性。后来,结合两种策略, 提出了 rbac(基于角色的访问控制) 。rbac 的基本思想是在用户和客体之 间插入角色,将对客体的访问权限授予角色,属于某角色的用户可获得该 角色的访问权限。rbac 对角色进行授权而不是对用户直接进行授权。后来, rbac 技术被越来越多的用户所接受,很多的大型数据库系统(如 oracle) 系统体系结构 13 都采用了这种控制机制,并对其进行改进、扩展,使其发展成为一种成熟 的访问控制技术。 在 rbac 模型中, 用户和角色的关系就像 windows 中用户和组的关系一样, 是一种多对多的关系,一个用户可以隶属于不同的角色,而一个角色可以包 括若干个用户。而且,这种关系是一种动态变化的关系,可以根据需要从角 色中删除用户或者将用户加入别的角色。一般来说,角色和权限的关系是多 对多的,也是动态变化的,一个角色可以拥有不同的权限,而一个权限可以 对应很多个角色;可以根据需要为角色指定权限或者从角色收回权限。而且, 管理员可以根据需要对角色加以控制(启动/停止) ,只有当角色处于启动状 态时,角色内的用户才有相应的权限。基于角色的访问控制能够根据需要进 行灵活的变化,且易于控制,减小了权限管理的负担和代价,增强了系统安 全性和灵活性。 rbac 可通过用户、角色、权限之间的映射关系,根据具体需求完成多种 访问控制功能。我们对 rbac 的映射关系作如下数学描述: 定义用户的集合为 u=u1, u2,un,;角色的集合为 r=r1, r2,rn; 权限的集合为 a=a1,a2,an。 用户与角色的对应关系用有序对 (u,r) 表示, 角色与权限的对应关系用(r,a)表示,则用户与权限的对应关系由(u,r)和 (r,a)作合成运算得到,即(u,a)=(u,r) (r,a)。 例如,用户对应两个角色 r1和 r2 ,表示为有序对(u1,r1)和(u1,r2) ;r1 具有权限 a1,表示为有序对(r1,a1) ;而 r2具有权限 a1,a2,a3,分别表示为有 序对(r2,a1) (r2,a2)和(r2,a3) ;如下运算求用户的权限: (u1,r1) (r1,a1)=(u1,a1) (u1,r2) (r2,a1)=(u1,a1) (u1,r2) (r2,a2)=(u1,a2) (u1,r2) (r2,a3)=(u1,a3) 可以根据需要,实施灵活而又复杂的访问控制,最基本的有与运算、并 运算、互斥运算、分级管理等,下面是这几种运算的算法实现。 西安理工大学硕士学位论文 14 与运算: 对 (u1,a1) 、 (u1,a1) 、 (u1,a2) 、 (u1,a3) 作与运算, 可得到有序对 (u1,a1) , 即用户 u1拥有权限 a1; 并运算: 对(u1,a1) 、 (u1,a1) 、 (u1,a2) 、 (u1,a3)作并运算,可得有序对(u1,a1) 、 (u1,a2) 、 (u1,a3) ,即用户 u1同时拥有权限 a1、a2、a3。 互斥运算: 互斥运算需要预先定义互斥策略,定义出相互排斥的角色,这样,用户 在某一时刻如果拥有某一角色,就不能再拥有与之互斥的角色。 角色分级管理: 在实施角色分级管理时,需要预先对系统所有的权限进行编码,然后定 义角色的级别,把角色定义为树结构,这样就能够清楚地显示角色的分级 关系,然后生成一个文件或者把这种树存储在数据库中,同时把权限编码 信息也存入数据库,这样在应用程序中,每一个角色只能管理其下属角色, 而且只能对其权限职责内的权限进行分配、管理,就能够实现角色的分级 管理。 rbac 技术综合了 dac 和 mac 技术,使用起来有很多优点: (1) 角色与组织机构相吻合, 实施灵活,很适合大型企业的分布式应用程序。 在访问控制的具体实施中,首先根据企业的组织机构划分出不同的角色; 然后把同一部门的用户并入同一角色;最后对每一个角色赋予相应的权 限,用户通过角色间接地对资源进行访问。这种方法灵活性很高:当一 个部门的员工调到另一个部门时,可以将该用户从原来部门对应的角色 中删除并添加到现在的部门所对应的角色来响应这种变化;当一个部门 的工作性质有变化时,可以调整所对应角色的权限来响应;当一个部门 不存在时,可以直接删除对应的角色或者将该角色的状态调整到“停止” 来响应;当有员工离开单位时,可以直接删除该用户。 (2)角色的数目比用户的数目少,减少了对大量用户直接管理的麻烦,适 系统体系结构 15 合大规模分布式应用系统。大型的应用系统一般都有非常多的用户, 对用户的管理以及对用户权限的管理都很复杂,对每个用户逐一单独 管理显然是不可能的,而通过对角色的管理来管理用户则极大地方便 了管理员,节省了人员开支。 (3)角色比用户稳定,避免了大规模人员调动而引起的授权变化。 (4)复杂的 rbac 可以实现各种安全策略,如分级访问、角色并运算、角 色与运算等。 3.3.2 web 服务技术 3.3.2 web 服务技术 web 服务是由 uri 标识的软件应用程序,其接口和绑定可以通过 xml 构件进行定义、描述和发现,web 服务支持通过基于因特网的协议使用基 于 xml 的消息与其他软件应用程序直接交互(w3c web 服务 architecture 小组定义) 。以上的定义告诉我们: (1)web 服务是软件应用程序,可以完成特定的业务逻辑。事实上,web 服务是一种分布在 web 上的对象,由于分布在网络上,所以具有很好 的开放性,任何清楚 web 服务接口的客户服务程序都能够引用 web 服 务的功能,将该对象本地化后作为本地对象来使用。由于 web 服务是 对象,所以具有对象技术的所有优点,如完好的封装性,对于使用者 而言,它只需要看到该对象提供的功能列表而不需要知道具体的实现 细节。 (2)web 服务是以 xml 为基石的。web 服务的描述、发现、绑定都是以 xml 的形式标记语言为基础的,由于 xml 是一种能被所有操作系统平台和 编程语言所理解的标记语言,所以 web 服务也同样具有语言和平台的 无关性。 (3)web 服务使用基于因特网的协议来进行数据的传输,所以具有良好的 开放性。 西安理工大学硕士学位论文 16 web 服务的体系结构如图 3-4 所示。 uddi注册中心 服务请求者 查找/soap 服务提供者 发布/soap 绑定/soap 图 3-4:web 服务结构图 与 web 服务有关的操作主要有以下三种: (1)发布 服务提供者首先将服务进行一定描述并发布到注册服务器上。在发 布操作中,服务提供者需要通过注册服务器的身份验证,才能对服务描述 信息进行发布和修改。 (2)查找 服务请求方根据注册服务器提供的规范接口发出查询请求,以获取 绑定服务所需的相关信息。在查找操作中,一般包含两种查找模式:一种 是浏览模式(browse pattern),即服务请求方可以根据通用的分类标准 来浏览或者通过一些关键字来搜索,并逐步缩小查找的范围,直到找到满 足需要的服务,查找结果是一系列服务的集合;另一种是直接获取模式 (drill down pattern),即通过唯一的关键字直接得到特定服务的描述信 息,其查找结果是唯一的。 (3)绑定(binding) 服务请求方通过分析从注册服务器中得到的服务绑定信息,包括服 务的访问路径、服务调用的参数、返回结果、传输协议、安全要求等, 系统体系结构 17 对自己的系统进行相应配置,进而远程调用服务提供者所提供的服务。 web 服务的关键技术包括 soap、wsdl、uddi。 (1)soap(simple object access protocol)。soap 协议定义了服务请求 者和服务提供者之间的消息传输规范。soap 用 xml 来格式化消息,用 http 来承载消息。 soap 包括三部分:定义了描述消息和如何处理消息 的 soap 信封、表达应用程序定义的数据类型实例的 soap 编码规则以 及描述远程过程调用和应答 soap rpc。soap 信封又包括 soap 头、soap 体以及 soap 错误三部分,其中,在 soap 头部分,用户可以自行定义 一定数量的条目来表达一些用于控制的信息,例如可以定义用户认证 信息等。 (2)wsdl 是用于描述如何使用 soap 来调用 web 服务的。它为服务提供者 提供以 xml 格式描述 web 服务请求的标准格式,将 web 服务描述为能 够进行消息交换的访问点的集合, 以表达一个 web 服务能做什么,它的 位置在哪里,如何调用它等。 (3)uddi (universal discovery, description, integration)。uddi 是 web 服务的注册中心,以便使需要该服务的用户发现和使用它。uddi 规范描述了 web 服务的概念,同时也定义了一种编程接口。通过 uddi 提供的标准接口,企业可以发布自己的 web 服务供其它企业查询、调 用;也可以查询特定服务的描述信息,并动态绑定该服务。通过 uddi, web 服务可以真正实现信息的“一次注册,到处访问”。 web 服务具有以下特点: (1)跨平台的互操作性 web 服务是以 xml 为基础的、使用标准的传输协议来传输的应用程 序逻辑单元,由于 xml 是所有平台都能够理解的标记语言,且传输协议 为大多数供应商所支持,使得 web 服务能够独立于平台,真正实现了异 构平台的互操作,解决了应用程序集成和数据集成的难题。 (2)松散耦合性 西安理工大学硕士学位论文 18 在调用 web 服务时,客户机向 web 服务发出请求,web 服务返回结 果,连接就会关闭,不存在永久连接,节省了网络资源。而且,当一个 web 服务的实现发生变更时,调用者不会感觉到,web 服务实现的任何 变更对于用户都是透明的。web 服务也可以扩展其接口,添加新的方法 和参数而不会影响到客户机,因为客户机仍旧使用原有的方法和参数。 (3)开放性 web 服务是一种分布在网络上的对象,有其专用的注册中心 uddi, 服务提供者可以将自己的 web 服务发部到 uddi,这样,任何请求者都可 以按照一定的查询条件到 uddi 注册中心查找到所需的 web 服务,而且, web 服务使用已经成熟的标准的传输协议,使得 web 服务的发布、查询、 绑定都很容易,网络的开放性成就了 web 服务的开放性。 系统总体设计 19 4 系统总体设计 4 系统总体设计 4.1 单点登录设计 4.1.1 为什么采用单点登录 4.1.1 为什么采用单点登录 在以往的信息系统中,有很多独立的应用系统,如电子邮件系统、 oa 系统、mis 系统等。各应用系统的用户信息基本上都是保存各自系统中 的数据库中,彼此独立。这种相互独立的系统及其用户管理的方式存在着 很多弊端,具体表现在以下几个方面: (1)每套应用系统的用户都是互相独立的,增加了系统管理员的工作量, 并且用户名与真正的用户以及用户的角色统一不起来,造成了管理上 的混乱。 (2)用户需要记忆多套用户名和口令,有的用户图方便会把这些口令设置 成一些非常简单的值,这就使得这些用户的口令安全性严重下降。 (3)用户在登录多套应用系统时,需要多次输入用户名口令,某些口令会 在网络中明文传输,造成了安全风险。 (4)用户内部调动,或者离职后,各个应用系统均需要对用户权限进行变 更或者删除用户,管理不便,并带来安全漏洞。 由于以上原因,需要对这种独立应用系统的用户管理和验证方式进行 整合,使用户能够方便地访问这些应用系统。基于统一用户管理的单点登 录方式就是解决此问题的有效方法。 4.1.2 单点登录的定义及原理 4.1.2 单点登录的定义及原理 所谓单点登录,是若干个应用系统结成联盟,将所有用户信息进行集 中管理,用户在访问这些应用系统时只需要最初的一次身份验证,对其他 西安理工大学硕士学位论文 20 应用系统的访问由系统自动验证,不需要用户再次输入凭证进行验证,也 就是“一次验证,处处通行” 。单点登录将各个应用系统的验证机制进行了 整合,方便了用户,提高了办公效率。单点登录的验证机制如图 4-1 所示: 图 4-1:单点登录原理图 (1) 用户请求应用系统 1 的资源,并输入身份凭证; (2) 应用系统 1 将用户身份送入 sso 验证服务器进行验证; (3) sso 调用用户信息库确定用户身份的正确性; (4) 用户信息库提供给 sso 用户的信息; (5) sso 返回信息给应用程序,一次验证完成; (6) 用户访问应用系统 2 时,应用系统 1 将用户的验证信息提供给应用 系统 2,用户就不需要手工验证。 为了确保传输过程中信息不被篡改或伪造,应用系统 2 在接到用户信 息后也可以重复上述过程重新验证用户。 4.1.3 本系统单点登录设计 4.1.3 本系统单点登录设计 单点登录的基础是用户信息的集中管理,所以在设计时,先统一了用 系统总体设计 21 户信息表的字段名称、字段类型、字段长度、每一个字段代表的意义等; 然后将用户信息数据库的网络地址、只读权限的登录方式告诉应用系统, 使应用系统能够对由门户网站传递来的用户信息进行再验证;还将传递的 消息的名称以及每一个消息值所代表的意义告诉应用系统,这样,在门户 网站和每一个应用系统之间就能够对单点登录的环节达成一致。 4.2 访问控制设计 rbac 实施的关键是建立用户/角色/权限三者之间的映射关系。在本系统 的访问控制的设计中,我们规定:如果一个用户属于多个角色,则该用户的 权限为所有这些角色权限的并集。首先,根据需要添加角色、添加网站所有 的用户,然后通过为用户分配角色以及从角色中删除用户,网站建立了用户 与角色的映射关系。同时,网站通过以下措施建立角色与权限的映射关系: 将用户的权限分成栏目访问和模块编辑两个部分,栏目与模块是父子关系, 只要能访问某个栏目,就能访问该栏目下的所有模块,但必须有对具体模块 的编辑权,才能编辑模块。当加入新栏目时,同时指定能够访问该栏目的角 色,则角色下的所有用户都能访问该栏目,为该栏目添加模块时,同时指定 能够编辑模块的角色,则角色下的所有用户都有权编辑模块。指定栏目访问 和模块编辑的角色的过程实际上就是对角色的授权过程。当有新的变化时, 重新指定能够访问栏目的角色和能够编辑模块的角色即可,这实际上就是角 色的权限更改的过程。 对于这种访问控制, 我们在数据库中如下实现: 由于用户和角色是多对 多的关系,建一个用户-角色表作为交叉表来存储用户的角色划分;角色表 中的启/停标志是用来控制是否启动该角色的;系统的角色授权体现在栏目 表和模块表的认证角色字段。当添加、删除或修改能够访问栏目的角色时, 更新该字段即可;同理,模块表的认证角色字段也实现了能够进行模块编 辑的角色的授权。 西安理工大学硕士学位论文 22 当用户发出访问请求时,先遍历用户表,确定是否有此用户以及用户 提供的凭证的正确性,然后遍历用户-角色表和角色表,确定用户对应的所 有处于启动状态的角色;再遍历栏目表,检查其认证角色字段,如果该字 段包含有用户对应的任何一个角色,则显示该栏目,否则,对用户隐藏该 栏目;然后遍历模块表,根据栏目编号加载该栏目下的所有模块,并检查 认证角色字段,如果包含有用户对应的任何一个角色,则给予编辑权,否 则,只给予访问权;同时根据模块编号绑定该模块对应的具体内容表中的 内容。网站访问控制状态图如图 4-2 所示: 进入主界 面 显示登录信息 、公共信息 输入验证 信息 验证用户 读取用户对应 的所有角色 读取每一个角 色对应的权限 对权限作 并集运算 成功 是否有访问栏目的权限 栏目隐藏 无 显示栏目以及栏 目下所有模块 有 是否有模块编辑权 赋予编辑 权限 不允许编 辑 有 无 失败 图 4-2:网站访问控制状态图 系统总体设计 23 4.3 门户网站设计 4.3.1 门户网站结构设计 4.3.1 门户网站结构设计 网站采用模块化的结构。模块化是指门户网站的所有内容由若干相互 独立的模块组成,所有这些模块按照某种排列顺序组装成整个网站。用户 可以根据需要定制权限范围内的模块以及模块的上下、左右显示顺序,模 块的背景色等。由于模块之间彼此独立,单个模块的增加、修改、删除不 会对别的模块造成影响,所以模块化的门户网站易于维护、易于扩充。 整个门户网站从上而下分为页面、栏目、模块三个层次。其中,页面 的上面部分为导航栏。下面部分又分为左、中、右三部分,三部分内容全 部由模块填充。导航栏由若干栏目构成,它相当于网站的目录,引导用户 访问网站的相关内容。栏目的内容是动态的,管理员可以根据需要添加、 修改、删除栏目,调整栏目显示的前后顺序,同时,为了安全或者访问控 制的需要,也可以指定能够访问栏目的角色,栏目及其相关信息都存储在 数据库中,访问时,根据用户对应的角色的权限来动态加载其能够访问的 栏目。 模块是网站的最小单元,也是构成栏目的单元,栏目与模块是父子关 系,也是一对多的关系,页面中显示的模块由用户选择的栏目决定,根据 选择的栏目,加载不同的模块。页面中模块的位置由页面的左中右部分、 每一部分中模块的上下顺序共同决定,在添加模块时,这些位置和顺序已 经由管理员指定。每一个模块都对应一个模块类型,而这些类型可以由用 户根据自己的需要定制,在管理员向网站中添加内容时,指定模块所属的 栏目,上下、左右位置后,必须选择模块的类型,然后再向该模块中添加 数据即可。 对于每一个模块,管理员可以选择能够编辑该模块的角色。每一个模 块有其模块号唯一标示,模块也是动态的,其信息也存储在数据库中,加 西安理工大学硕士学位论文 24 载模块时根据模块号绑定数据库中数据。页面结构对象如图 4-3 所示: 图 4-3:页面结构图 4.3.2 门户网站包图 4.3.2 门户网站包图 门户网站总体包图如图 4-4 所示: 门户网站 访问控制内容管理应用系统集 成 日志管理需求发布 产品发布 论坛管理信息检索 图 4-4:网站总体包图 其中,访问控制子包图如图 4-5 所示: 系统总体设计 25 访问控制 用户管理角色管理用户-角色对 应关系管理 权限管理 角色-权限对应关系管理 栏目管理模块管理栏目-角色对 应关系管理 模块-角色对 应关系管理 图 4-5:访问控制包图 网站内容管理子包图如图 4-6 所示: 网站内容管理 栏目管理 模块管理 网站布局管 理 模块-类型对 应关系管理 栏目-模块对 应关系管理 类型管理 图 4-6:内容管理包图 应用系统子包图如图 4-7 所示: 西安理工大学硕士学位论文 26 图 4-7:应用系统集成包图 4.3.3 系统类图 4.3.3 系统类图 系 统 类 图 包 括 系 统 产 品 类manageproducts , 系 统 需 求 类 managerequire,系统链接类 managelinks,系统新闻类 managenews,系统 日 志 类managelogs , 系 统 图 片 类manageimages , 子 系 统 介 绍 类 manageabstract,系统模块类 managemodules,子系统类 managezixitong, 栏 目 类 managetabs, 系 统 网 站 帖 子 类 managethreads, 系 统 配 置 类 configuration,系统安全类 security,系统用户类 manageusers,系统角 色类 manageroles。类图总体结构如图 4-8 所示: 系统总体设计 27 managerequires managelinks managelogs manageabstract manageproducts managenews manageimages managetabs managezixitong managemodules managethreads manageroles configurationsecurity manageusers 图 4-8:系统类图 4.4 数据库设计 在所有 b/s 结构的信息系统中,数据库都是处在系统的最底层,也是 相对独立的一层,这里是系统的数据中心,支撑着整个系统的运行,用户 需要的所有信息都是应用程序通过基于数据库的中间件调用数据库数据而 得到的,数据库的设计、开发在整个信息系统的设计、开发中占有很重要 的比重,设计良好的数据库不但可以使系统以最优的性能运行,而且能够 使系统的开发变得简单,从而减轻开发人员的负担,缩短开发周期。基于 以上网站结构设计、访问控制设计,设计数据库模型如图 4-9 所示: 西安理工大学硕士学位论文 28 图 4-9:数据库模型 e-r 图 根据数据模型,设计数据库表如下: 系统总体设计 29 图 4-10:数据库表 由数据库模型图可以看出,模块表 modules 是整个数据库表的核心, 表中 moduleid 为流水号,是记录的标示;moduledefinitionid 为外键,标 示出模块的类型; tabid 为外键, 标示出模块是位于哪一个栏目下; panename 表示栏目下模块的左右位置;moduleorder 则表示栏目下模块的上下位置; 西安理工大学硕士学位论文 30 以上几个字段确定了模块在网站中的位置和类型。 authorizededitroles 字 段表示能够编辑该模块的所有角色。 系统详细设计与实现 31 5 系统详细设计与实现 5 系统详细设计与实现 5.1 系统访问控制模块的设计与实现 5.1.1 用户管理模块 5.1.1 用户管理模块 用户管理模块主要是用户类的设计与实现,用户类封装了用户的所有 属性以及对用户的所有操作。该类主要属性有用户名、密码等用户的详细 信息;该类的方法主要有添加用户 adduser,建立用户与角色的对应关系 adduserrole , 删 除 用 户 deleteuser , 删 除 用 户 与 角 色 的 对 应 关 系 deleteuserrole,得到单个用户的详细信息 getsingleuser,得到系统所有 的用户 getusers,得到某一角色下所有的用户 getuserbyuser,更改用户 密码 updatepassword,更新用户信息 updateuser 等。用户类类图如图 5-1 所示: user adduser() adduserrole() deleteuser() deleteuserrole() getsingleuser() getusers() getuserbyrole() updatepassword() updateuser() 图 5-1:用户类图 在应用程序中,该类的实现如下:系统管理员成功登录以后,进入网 站管理界面,同时传递参数 admin,在用户管理界面,当管理员选中一个用 户进行编辑时,进入用户编辑界面,该页面可以执行添加、删除、修改用 西安理工大学硕士学位论文 32 户等方法,由用户编辑页面传递参数 admin、userid 到用户与角色对应关 系界面,可以查看用户属于哪一个角色,可以执行为用户分配角色,将该 用户从某一角色删除等方法。当执行完后向上传递参数 admin,回到网站管 理,协作图如图 5-2 所示: 用户管 理 系统管理 员 网站管 理 用户编 辑 用户对应角色 管理 3: admin 6: admin 1: admin 2: admin 7: admin 4: amdin,userid 5: admin 图 5-2:用户管理协作图 用户管理界面如图 5-3 所示: 图 5-3:用户管理界面图 当选择一个用户并点击编辑按钮时, 进入用户编辑界面, 如图 5-4 所示: 系统详细设计与实现 33 图 5-4:用户编辑界面 5.1.2 角色管理 5.1.2 角色管理 角色管理模块主要是角色类的设计与实现,该类封装了系统角色的所 有属性以及对角色操作的所有方法。该类属性主要有角色编号 roleid,角 色名 rolename;该类的主要方法有添加角色 addrole,添加角色和用户的 对应关系 adduserrole,删除角色 deleterole,删除角色和用户的对应关 系 deleteuserrole,得到单个角色的详细信息 getsinglerole,得到系统 所有的角色 getroles,得到某一用户对应的角色 getrolebyuser,更新角 色 updaterole 等。角色类图如图 5-5 所示: 西安理工大学硕士学位论文 34 role roleid rolename addrole() adduserrole() deleterole() deleteuserrole() getsinglerole() getroles() getrolebyuser() updaterole() 图 5-5:角色类图 在应用程序中,该类的实现如下:系统管理员成功登录以后,进入网 站管理界面,同时传递参数 admin,再携带该参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国邮政2025河北省秋招平台产品经理岗位面试模拟题及答案
- 中山市烟草公司2025秋招笔试英文行测题专练含答案
- 中国邮政2025赤峰市秋招运输调度岗位高频笔试题库含答案
- 道路改建工程施工方案范例
- 危险化学品作业审批流程及控制
- 2025年甘肃省临夏州招聘州本级第三批城镇公益性岗位人员11人考试参考题库及答案解析
- 2025广西防城港市机关后勤服务中心招聘劳务派遣人员1人考试参考题库及答案解析
- 采购合同谈判实务与技巧指南
- 2025湖北省肿瘤医院招聘肝胆胰外科编外医师1人考试参考题库及答案解析
- 中交集团2026届全球校园招聘荣耀启航考试参考题库及答案解析
- 考前速记-专升本英语240个高频词汇
- 九年级《道德与法治》(上册)教学计划及教学进度
- 医院课件:《抗肿瘤药物分级管理培训》
- 电气防爆专项检查表
- 教科版小学科学六年级上册《1.7微生物与健康》课件
- (正式版)JBT 106-2024 阀门的标志和涂装
- 便利店委托运营协议
- 汉语言文学专业就业方向及就业前景调研报告
- 招商加盟营销方案
- 红军长征感人红色故事3-10分钟10篇
- 秋天的雨 省赛获奖
评论
0/150
提交评论