基于Web Services的统一身份认证系统之Web Services服务器部署及系统通用性的研究与实现毕业设计.docx
- 文档编号:26855025
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:71
- 大小:1.37MB
基于Web Services的统一身份认证系统之Web Services服务器部署及系统通用性的研究与实现毕业设计.docx
《基于Web Services的统一身份认证系统之Web Services服务器部署及系统通用性的研究与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Web Services的统一身份认证系统之Web Services服务器部署及系统通用性的研究与实现毕业设计.docx(71页珍藏版)》请在冰豆网上搜索。
基于WebServices的统一身份认证系统之WebServices服务器部署及系统通用性的研究与实现毕业设计
基于WebServices的统一身份认证系统之WebServices服务器部署及系统通用性的研究与实现毕业设计
第一章 绪论
1.1论文研究背景
随着因特网的飞速发展,,基于B/S(浏览器/服务器)结构的企业应用软件也得到了快速发展,各种应用系统已经应用到很多企业的生产管理活动中去,为企业提高工作效率和管理水平做出了巨大的贡献。
但是,由于企业受业务、自身条件和当时软件技术的影响,这些不同的系统往往是在不同的时期建设起来的,运行在不同的平台上。
各系统也许是由不同厂商开发的,使用了各种不同的技术和标准。
每个应用系统都有自己独立的一套身份验证机制,采取分散登录、分散管理。
又由于针对企业应用各系统的联系十分紧密,各用户需要使用大多数的系统。
如果不使用统一是身份认证,势必造成企业的工作人员在实际工作中要频繁地在各个系统登录和注销,严重影响了生产效率;同时,很多系统都要维持一个用户身份信息是很麻烦的。
因此,信息系统急需建立一个统一的身份认证系统,以保证用户操作的方便和应用系统的安全。
目前,关于统一身份认证的研究在国外比较活跃,目前最流行的技术主要有微软的Passport技术,其中微软的Passport技术实际上是一种WebService,它是由微软公司控制的中央统筹式的单一登陆服务。
自由联盟(LibertyAlliance)是由SUN、IBM、HP、Intel、Oracle等150多家公司和机构组成的一个围绕身份认证的技术,该联盟的宗旨是创建一个具有开放性、联合的、单一身份识别的解决方案。
与微软的Passport集中认证不同,自由联盟采用的是一种称为联邦认证(FederatedIdentity)的机制,即自由联盟中的身份提供者不唯一,而是可以相互独立存在的,使用联邦认证的好处是在有可以避免因单点故障而导致的系统瘫痪。
自由联盟相关协议的基础和核心是SAML(SecurityAssertionMarkupLanguage安全断言标记语言)。
同时随着统一身份认证研究的深入和较高的商业意义,目前已经出现了很多商用软件和产品,专门的SSO商业软件主要有:
Netgrity的Siteminder(已被CA收购)、Novell公司的iChain、RSA公司的ClearTrust等。
还有门户产品供应商自己的SSO产品如BEA的WLES、IBM的Tivoli Access Manager、SUN公司的identity server、Oracle公司的OID等。
这些商业软件一般适用于客户对SSO的需求很高,并且企业内部采用COTS软件OMINO、SAP、Sieble的系统。
采用这些商用软件一般都要对要集成的系统做些改造,如在要集成的系统上安装代理,首先统一这些系统的认证方式,然后才能实现SSO,相对比较麻烦。
另外,也有很多开源组织从事SSO的研究如JOSSO、OPENSSO、SOURCEID等。
而在国内,很多机构和系统正在进行统一身份认证的改造,如电力、银行、政府、高校等信息化比较先近的企业。
1.2论文研究意义
随着社会信息化的发展,很多的企事业单位都建立了自己的独立的网络系统,其日常办公也日益依赖于网络。
在这样的局部的网络系统基础之上,企事业单位也陆续建设了各种业务应用系统,其中不乏很多提供公共服务的系统,这些系统各自拥有一套权限管理机制和身份认证方式。
在这种情况下,一个用户如果需要登录不同的系统就需要采用多个账号和密码,不容易记忆,而很多用户往往在不同系统中使用相同的账号和密码,这样也不安全。
不同系统采用自身的一套认证和用户管理机制,不利于企事业单位的统一管理。
所谓统一身份认证,就是用户基于最初访问的一次身份认证,就能对其被授权的资源进行无缝访问,统一身份认证是目前比较流行的企业业务整合的解决方案之一。
统一身份认证的定义是:
在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
本系统是对一个企业进行统一身份认证改造,该企业的应用系统均采用B/S(浏览器/服务器)结构构建。
系统进行统一身份认证改造后,需要能够实现较为灵活的、基于SAML协议和RBAC协议原理的单点登录模型,并且需要有灵活的访问控制,保证和原有系统的紧密结合,实现用户的统一身份认证。
统一身份认证机制,将同一个用户在所有应用系统中的权限和身份统一管理和分发。
这样,各个应用系统只需保留角色和权限控制,用户相关的数据统一保存在身份认证服务器中,用户和角色的管理由应用系统自行管理,从而简化了应用系统中用户管理模块的建设。
各个企事业单位的用户可以从一个统一的登录界面登录网络系统,访问内部不同的系统时只需要输入一次用户名和密码就可以了,用户在完成身份认证后无须再次登录就可以接受企事业单位网络系统中其他信息服务系统提供的服务。
1.3论文研究内容于与工作目标
随着Internet的飞速发展,网络已经渗透到社会的各个领域,保障网络信息的安全已经成为人们关心的重要问题。
而要提高网络信息安全,前提就是要保证用户身份认证的安全。
本文作者在该系统的研究与实现中主要完成以下几方面的任务:
1)对现代国内外身份统一认证系统的基本理论和基本思想,以及身份统一认证系统的一些重要作用、发展趋势等进行深入研究,加强身份统一认证系统理论方面的理解,并为基于WebService的身份统一认证系统的研究与实现建立理论基础。
2)深入探讨基于WebService的身份统一认证系统的体系结构设计、开发方法和实现技术等问题。
并对身份统一认证系统进行需求分析和数据流程分析。
3)以统一认证、统一授权、单点登录三大功能为基础进行程序开发,实现基于WebService的身份统一认证系统的一些主要功能,包括统一应用系统管理、统一权限管理、统一角色管理、统一统计分析、身份认证系统管理菜单设置、统一接口规范、WebService服务器的部署、JavaWeb测试客户端的建立等,给基于WebService的身份统一认证系统的开发提供了一个好的思路与方法。
1.4论文的组织结构
本文针对目前国内外的研究现状,运用WebService、SSH2等技术,以统一用户管理、统一授权管理和统一认证服务为实例,研究基于WebService的身份统一认证系统的研究与实现。
其主要研究思路安排如下:
第一章主要是介绍基于WebService的统一身份认证的研究背景、研究意义和本文作者的主要研究内容;
第二章主要研究WebService技术体系及应用模式研究;为统一身份认证奠定了技术及理论基础;
第三章对主要是统一身份认证主要涉及的问题(即统一认证、权限管理、及单点登录)进行了探讨与分析,确定所要采用的实现方法。
第四章主要是根据调研分析,确定本文的大致的需求,比如功能需求、性能需求等。
第五章主要是在第四章分析的基础上,对系统进行详细的设计,并根据设计来实现所设计的系统功能等。
第六章对统一身份认证系统进行总体的评价与分析。
第七章是结束语,主要是总结本文作者关于基于WebService的统一身份认证研究的总结与对统一身份认证应用前景的展望。
致谢部分主要是本文作者对其在做相关研究的过程中给予其帮助的所有人的感谢。
参考文献部分主要展示的本文作者完成论文过程中所参考的所有的资料文献。
第二章WebService的应用集成
2.1WebService概述
2.1.1什么是WebService
软件应用程序不可能由任何一种专门的环境来解决,而是需要跨多个操作系统、编程语言和硬件平台的环境来实现。
在Web服务出现之前,多数系统采用的是固定的接口,但对于环境或需求的改变,缺乏灵活性或适用性。
WebService就是一个能够通过Web进行调用的API,它是一种新的Web应用程序分支,可以在网络中被描述、发布、查找以及通过Web来调用。
WebService是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。
位于Web协议顶部的高层接口层是通过标准化的XML消息传递访问的操作。
它使用基于XML语言的协议来描述要执行的操作或者可以用真正与平台无关的方式来描述任何数据,以跨系统交换数据。
一组以这种方式交互的Web服务在面向服务的体系结构(Service—OrientedArchitecture,SOA)中定义了特殊的Web服务应用程序,因此应用程序由紧耦合转向了松耦合;而且Web服务可以在较抽象的层面上工作,按照需要动态地重新评估、修改或处理数据类型。
从技术层面上讲,Web服务可以更方便地处理数据,并且允许软件更自由地进行通信。
从更高的概念层面上看,Web服务可以视为一些工作单元,每个单元处理特定的功能任务。
然后,将这些任务组合成面向业务的任务,以处理特定的业务操作任务,从而使非技术人员去考虑一些应用程序,这些应用程序可以在Web服务应用程序工作流中一起处理业务问题。
因而,Web服务解决的主要问题是数据和应用程序集成的问题和将技术性的功能转换成面向业务的计算任务的问题。
这两个方面使业务人员可以就流程或应用程序层面与他们的合作伙伴进行交流,同时为适应新形势或按照需要与不同合作伙伴进行合作留有动态的余地。
2.1.2Webservice的意义
WebService对于Web开发者的重要意义在于,当我们需要在不同的服务端、不同的客户端乃至不同的应用类型、不同的计算设备之间传递信息的时候,以往的分布式开发技术因为适应性不强或者扩展能力不足,都难以满足现代Web开发的需要,而Webservice正好填补了这一空白。
Webservice希望实现不同的系统之间能够用“软件一软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。
2.1.3WebService的特点
下面我们从以下几个方面来理解WebService:
(I)、WebService具有完好的封装性
WebService是一种部署在Web上的对象,具备对象的良好封装性。
对于使用者而言,他仅能看到该对象提供的功能列表。
(2)、WebService支持使用松散耦合的分布式应用程序这一特征是源于对象/组件技术,当一个Web服务的实现发生变更的时候,只要Web服务的调用界面不变,Web服务实现的任何变更对调用者来说都是透明的。
(3)、WebService使用协约的规范性、标准性与一般对象相比,WebService界面更加规范化,易于机器理解。
而且我们需要对诸如授权认证、数据完整性(比如签名机制)、消息认证以及事务的不可否认性等,运用规范的方法来描述、传输和交换。
以至于在所有层次上的处理都应当是可管理的,因此需要对管理协约运用同样的机制。
(4)、WebService具有高度的可集成能力
由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA/DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当时环境下最高的可集成性。
(5)、WebService具有开放性
WebService可以与其他WebService进行交互。
它具有语言和平台无关性。
支持CORBA、BCOM、EJB等多种组件标准。
支持各种通讯媒体如:
HTTP、SMTP、FTP、RMI/IIOP(远程方法调用/internet对象请求中介协议)等。
2.2WebService的体系结构
Web服务构架由三个参与者和三个基本操作构成。
三个参与者是服务提供者(ServiceProvider)、服务注册中心(ServiceRegistry)和服务请求者(ServiceRequester):
三个基本操作是发布(Publish)、查找(Find)和绑定(Bind)。
图2.1描述了这些操作、提供这些操作的组件及它们之问的交互。
图2.1Web服务角色、操作和构件
图中Web服务的三个参与者分别是:
(1)、服务提供者。
从企业的角度看,这是服务的所有者。
从体系结构的角度看,这是托管访问服务的平台。
服务提供者负责创建服务描述,将服务描述发布到一个或多个服务注册处,并接收来自一个或多个方法请求者的网络服务调用消息。
在服务请求者和服务提供者间,服务提供者相当于“客户一服务器”(C/S)模型中的服务器。
(2)、服务请求者。
从企业的角度看,这是要求满足特定功能的企业。
从体系结构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。
服务请求者负责查找发布在一个或多个服务注册处的服务描述,并负责利用服务描述,绑定或调用由服务提供者提供的网络服务。
服务请求者相当于“客户一服务器”(C/S)模型中的客户。
服务请求者角色可以由浏览器来担当,由人或无用户界面的程序来控制它。
(3)、服务注册中心。
这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。
在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信息。
对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。
同样,服务请求者可以从服务注册中心以外的其它来源得到服务描述,例如本地文件、FTP站点、Web站点、广告和服务发现(AdvertisementandDiscoveryofServices,ADS)或发现Web服务。
服务注册中心起服务请求者和提供者间的中介作用,负责为服务请求者匹配服务提供者。
。
Web服务体系结构中的操作:
发布服务描述、查询或查找服务描述以及根据服务描述绑定或调用服务,这些行为可以单次或反复出现。
具体操作为:
1)、发布。
为了使服务可访问,需要发布服务描述以使服务请求者可以查找它,发布服务描述的位置可以根据应用程序的要求而变化。
2)、查找。
在查找操作中,服务请求者直接检索服务描述或在服务注册中心中查询所要求的服务类型。
对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查找操作:
在设计时为了程序开发而检索服务的接口描述,在运行时为了调用而检索服务的绑定和位置描述。
3)、绑定。
在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。
Web服务的构件是由服务与服务描述组成。
Web服务是一个由服务描述来描述的接口,服务描述的实现就是该服务。
服务是一个软件模块,它部署在由服务提供者提供的可以通过网络访问的平台上。
服务存在就是要被服务请求者调用或者同服务请求者交互。
当服务的实现中利用到其它的Web服务时,它也可以作为请求者。
服务描述包含服务的接口和实现的细节,其中包括服务的数据类型、操作、绑定信息和网络位置。
还包括可以方便服务请求者发现和利用的分类及其它元数据。
服务描述可以被发布给服务请求者或服务注册中心。
2.3WebService的技术支持
WebService基于开放的因特网标准,所以WebService平台需要一套协议来实现分布式应用程序的创建。
任何平台都有它的数据表示方法和类型系统,要实现互操作性,WebService平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。
Web服务的简单技术体系WebService“stack”,如图2.2所示:
其中,蓝色部分是目前开发的Web服务的相关标准协议,包括服务调用协议SOAP、服务描述协议WSDL和服务发现/集成协议UDDI。
绿色部分是先前已经定义好的并且广泛使用的传输层和网络层的标准:
IP、HTTP、SMTP等。
图2.2WebService技术架构
2.3.1XML和XSD
可扩展的标记语言XML是WebService平台中表示数据的基本格式。
除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。
XML是由万维网协会(W3C)创建,W3C制定的XMLSchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
WebService平台是用XSD来作为数据类型系统的。
当你用某种语言如.NET或C#来构造一个WebService时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。
XMLWebService是在Internet上进行分布式计算的基本构造块,它成为应用程序集成的平台。
XMLWebService具有以下特点:
(1)、XMLWebService通过标准的Web协议向Web用户提供有用的功能。
多数情况下使用SOAP协议。
(2)、XMLWebService可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们进行通信。
这种说明通常包含在称为Web服务说明语言(WSDL)文档的XML文档中。
(3)、XMLWebService已经过注册,以便潜在用户能够轻易地找到这些服务,这是通过通用发现、说明和集成(UDDI)来完成的。
2.3.2简单对象访问协议SOAP
IBM、Microsoft以及其它企业都向W3C建议SOAP作为XML协议工作组(XMLProtocolWorkingGroup)的基础。
SOAP(SimpleObjectAccessProtocol,简单对象访问协议)是一种简单的、轻量级的基于XML的机制,用于在网络应用程序之间进行结构化数据交换的消息传递协议。
SOAP包括三部分:
一个定义描述消息内容的框架的信封、一组表示应用程序定义的数据类型实例的编码规则,以及表示远程过程调用(remoteprocedurecalls,RPC)和响应的约定。
SOAP可以和各种网络协议(如HTTP、SMTP、FTP等)相结合使用,或者将这些协议重新封装后使用。
一个简单的SOAP消息表示:
POST/StudentInfoHTTP/1.1
Host:
localhost
Content—Type:
text/xml:
charset=”utf一8”
Content—Length:
640
SOAPAction:
”GetStudentInfo”
图2.3是使用SOAP的XML消息传递。
图2.3用SOAP的XML消思传递
(1)、服务提供者的应用程序在①创建一条SOAP消息。
SOAP消息调用由服务提供者提供的Web服务操作的请求。
服务请求者将此信息和服务提供者的网址一起提供给SOAP基础结构(例如一个SOAP客户机运行时)。
SOAP客户机运行时与一个底层网络协议(例如HTTP)交互,然后在网络上将SOAP消息发送出去。
(2)、网络基础结构在②将消息传送到服务提供者的SOAP运行时(例如一个SOAP服务器)。
SOAP服务器将到服务提供者的Web服务请求消息路由。
如果应用程序需要,SOAP运行时负责将XML消息转换为特定于编程语言的对象。
这个转换由消息中可以找到的编码模式所控制。
(3)、Web服务负责处理请求信息并生成一个响应。
该响应也是一条SOAP消息。
响应的SOAP消息在④被提供给SOAP运行,到达目的地服务请求者。
(4)、响应消息在④由服务请求者节点上的联网基础结构接收。
消息经过整个SOAP基础结构,将XMI,消息转换为目标编程语言中的对象。
然后,响应消息被提供给应用程序。
上述过程使用了请求/响应传送基本原理,请求/响应交换可以是同步的,也可以是异步的,通常在大多数分布式计算环境中都很常见。
其它传送基本原理,如单向消息传递(无响应),通知(推动式响应)以及发布/订阅,也可能用到SOAP。
2.3.3Web服务说明语言WSDL
WSDL(WebServiceDescriptionLanguage)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出,通过WSDL,可描述Web服务的三个基本属性:
1)、务做些什么——服务所提供的操作
2)、如何访问服务——和服务交互的数据格式以及必要协议
3)、服务位于何处——协议相关的地址,如URL
WSDL文档以端口集合的形式来描述Web服务,WSDL服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。
WSDL文档被分为两种类型:
服务接口(ServiceInterface)和服务实现(ServiceImplementations),文档基本结构框架如图2.4所示:
图2.4文档基本结构框架
服务接口文档中主要元素的作用介绍如下:
types:
定义了Web服务使用的所有数据类型集合,可被元素的各消息部件所引用。
message:
通信消息数据结构的抽象类型化定义。
使用Types所定义的类型来定
义整个消息的数据结构。
operation:
对服务中所支持操作的抽象描述。
一般单个operation描述了一个访问入口的请求/对应消息对。
portType:
对于某个访问入口点类型所支持操作的抽象集合。
这些操作可以由一个或多个服务访问点来支持。
binding:
包含了如何将抽象接口的元素(portType)转变为具体表示的细节,具体表示也就是指特定的数据格式和协议的结合;特定端口类型的具体协议和数据格式规范的绑定。
服务实现文档中主要元素的作用介绍如下:
port:
定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。
service:
是一个粗糙命名的元素,代表端口的集合;相关服务访问点的集合。
文档中portType与message和type元素的细节相结合描述了Web服务是什么,binding元素描述了如何使用Web服务,port及service元素描述了Web服务的位置。
WSDL是Web服务体系结构的基础,它提供了一个通用语言,用来描述服务和整合这些服务的平台。
WSDL文件与编程语言无关,WSDL文档可以看成是客户端和服务器之间的一个协约。
使用WSDL工具,几乎不用手工编写代码就能够让应用程序整合新的服务。
2.3.4统一描述、发现与集成UDDI
UDDI(UniversalDescription、DiscoveryandIntegration)是一个动态而灵活的XMLWeb服务基础架构,是一套基于Web的信息与服务注册的标准,同时也实现了一组使企业能将自己能提供的的Web服务进行登记,以使得别的企业能够找到标准;并在此基础上降低Web服务及其它编程资源的查询难度。
企业级UDDI服务还可帮助组织机构创建并部署更加可靠且更具智能化特征的应用程序。
Web应用服务允许在Web站点上放置可编程的元素,使得能分布式地得进行处理,UDDI企业登记中心就是用来提升和发现这些分布的Web应用服务。
从概念上来说,UDDI企业登记中心所提供的信息包含三个主要部分:
“白页”包括了地址,联系方法,和已知的标识;
“黄页”包括了基于分类学的工业划分;
“绿页”包括了关于该企业提供的服务的技术信息,包含了指向特定的Web应用服务的链接或是URL等。
UDDI服务支持通过基于SOAP的UDDI应用程序编程接口(API)进行程序化查询,同时,它还提供了具备搜索、发布与协调功能并且能够兼容MicrosoftInternet Explorer4.0或更高版本以及NetscapeNavigator4.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Web Services的统一身份认证系统之Web Services服务器部署及系统通用性的研究与实现毕业设计 基于 Web
链接地址:https://www.bdocx.com/doc/26855025.html