【文章內(nèi)容簡介】
份認證的定義是:在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。本系統(tǒng)是對一個企業(yè)進行統(tǒng)一身份認證改造,該企業(yè)的應(yīng)用系統(tǒng)均采用B/S(瀏覽器/服務(wù)器 ) 結(jié)構(gòu)構(gòu)建。系統(tǒng)進行統(tǒng)一身份認證改造后,需要能夠?qū)崿F(xiàn)較為靈活的、基于 SAML 協(xié)議和 RBAC 協(xié)議原理的單點登錄模型,并且需要有靈活的訪問控制,保證和原有系統(tǒng)的緊密結(jié)合,實現(xiàn)用戶的統(tǒng)一身份認證。統(tǒng)一身份認證機制,將同一個用戶在所有應(yīng)用系統(tǒng)中的權(quán)限和身份統(tǒng)一管理和分發(fā)。這樣,各個應(yīng)用系統(tǒng)只需保留角色和權(quán)限控制,用戶相關(guān)的數(shù)據(jù)統(tǒng)一保存在身份認證服務(wù)器中,用戶和角色的管理由應(yīng)用系統(tǒng)自行管理,從而簡化了應(yīng)用系統(tǒng)中用戶管理模塊的建設(shè)。各個企事業(yè)單位的用戶可以從一個統(tǒng)一的登錄界面登錄網(wǎng)絡(luò)系統(tǒng),訪問內(nèi)部不同的系統(tǒng)時只需要輸入一次用戶名和密碼就可以了,用戶在完成身份認證后無須再次登錄就可以接受企事業(yè)單位網(wǎng)絡(luò)系統(tǒng)中其他信息服務(wù)系統(tǒng)提供的服務(wù)。熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn) 論文研究內(nèi)容于與工作目標隨著 Inter 的飛速發(fā)展,網(wǎng)絡(luò)已經(jīng)滲透到社會的各個領(lǐng)域,保障網(wǎng)絡(luò)信息的安全已經(jīng)成為人們關(guān)心的重要問題。而要提高網(wǎng)絡(luò)信息安全,前提就是要保證用戶身份認證的安全。本文作者在該系統(tǒng)的研究與實現(xiàn)中主要完成以下幾方面的任務(wù):1) 對現(xiàn)代國內(nèi)外身份統(tǒng)一認證系統(tǒng)的基本理論和基本思想,以及身份統(tǒng)一認證系統(tǒng)的一些重要作用、發(fā)展趨勢等進行深入研究,加強身份統(tǒng)一認證系統(tǒng)理論方面的理解,并為基于 Web Service 的身份統(tǒng)一認證系統(tǒng)的研究與實現(xiàn)建立理論基礎(chǔ)。2) 深入探討基于 Web Service 的身份統(tǒng)一認證系統(tǒng)的體系結(jié)構(gòu)設(shè)計、開發(fā)方法和實現(xiàn)技術(shù)等問題。并對身份統(tǒng)一認證系統(tǒng)進行需求分析和數(shù)據(jù)流程分析。3) 以統(tǒng)一認證、統(tǒng)一授權(quán)、單點登錄三大功能為基礎(chǔ)進行程序開發(fā),實現(xiàn)基于Web Service 的身份統(tǒng)一認證系統(tǒng)的一些主要功能,包括統(tǒng)一應(yīng)用系統(tǒng)管理、統(tǒng)一權(quán)限管理、統(tǒng)一角色管理、統(tǒng)一統(tǒng)計分析、身份認證系統(tǒng)管理菜單設(shè)置、統(tǒng)一接口規(guī)范、Web Service 服務(wù)器的部署、Java Web 測試客戶端的建立等,給基于 Web Service 的身份統(tǒng)一認證系統(tǒng)的開發(fā)提供了一個好的思路與方法。 論文的組織結(jié)構(gòu)本文針對目前國內(nèi)外的研究現(xiàn)狀,運用 Web Service、SSH2 等技術(shù),以統(tǒng)一用戶管理、統(tǒng)一授權(quán)管理和統(tǒng)一認證服務(wù)為實例,研究基于 Web Service 的身份統(tǒng)一認證系統(tǒng)的研究與實現(xiàn)。其主要研究思路安排如下:第一章主要是介紹基于 Web Service 的統(tǒng)一身份認證的研究背景、研究意義和本文作者的主要研究內(nèi)容;第二章主要研究Web Service技術(shù)體系及應(yīng)用模式研究;為統(tǒng)一身份認證奠定了技術(shù)及理論基礎(chǔ); 第三章對主要是統(tǒng)一身份認證主要涉及的問題(即統(tǒng)一認證、權(quán)限管理、及單點登錄)進行了探討與分析,確定所要采用的實現(xiàn)方法?! 〉谒恼轮饕歉鶕?jù)調(diào)研分析,確定本文的大致的需求,比如功能需求、性能需求等。熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn)第五章主要是在第四章分析的基礎(chǔ)上,對系統(tǒng)進行詳細的設(shè)計,并根據(jù)設(shè)計來實現(xiàn)所設(shè)計的系統(tǒng)功能等。第六章對統(tǒng)一身份認證系統(tǒng)進行總體的評價與分析。第七章是結(jié)束語,主要是總結(jié)本文作者關(guān)于基于Web Service的統(tǒng)一身份認證研究的總結(jié)與對統(tǒng)一身份認證應(yīng)用前景的展望。致謝部分主要是本文作者對其在做相關(guān)研究的過程中給予其幫助的所有人的感謝。參考文獻部分主要展示的本文作者完成論文過程中所參考的所有的資料文獻。熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn)第二章 Web Service 的應(yīng)用集成 Web Service 概述 什么是 Web Service 軟件應(yīng)用程序不可能由任何一種專門的環(huán)境來解決,而是需要跨多個操作系統(tǒng)、編程語言和硬件平臺的環(huán)境來實現(xiàn)。在Web 服務(wù)出現(xiàn)之前,多數(shù)系統(tǒng)采用的是固定的接口,但對于環(huán)境或需求的改變,缺乏靈活性或適用性。Web Service就是一個能夠通過Web 進行調(diào)用的API,它是一種新的Web 應(yīng)用程序分支,可以在網(wǎng)絡(luò)中被描述、發(fā)布、查找以及通過Web來調(diào)用。Web Service是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Service能與其他兼容的組件進行互操作。位于Web協(xié)議頂部的高層接口層是通過標準化的 XML消息傳遞訪問的操作。它使用基于XML語言的協(xié)議來描述要執(zhí)行的操作或者可以用真正與平臺無關(guān)的方式來描述任何數(shù)據(jù),以跨系統(tǒng)交換數(shù)據(jù)。一組以這種方式交互的Web服務(wù)在面向服務(wù)的體系結(jié)構(gòu)(Service—Oriented Architecture,SOA)中定義了特殊的 Web服務(wù)應(yīng)用程序,因此應(yīng)用程序由緊耦合轉(zhuǎn)向了松耦合;而且Web 服務(wù)可以在較抽象的層面上工作,按照需要動態(tài)地重新評估、修改或處理數(shù)據(jù)類型。從技術(shù)層面上講,Web服務(wù)可以更方便地處理數(shù)據(jù),并且允許軟件更自由地進行通信。從更高的概念層面上看,Web 服務(wù)可以視為一些工作單元,每個單元處理特定的功能任務(wù)。然后,將這些任務(wù)組合成面向業(yè)務(wù)的任務(wù),以處理特定的業(yè)務(wù)操作任務(wù),從而使非技術(shù)人員去考慮一些應(yīng)用程序,這些應(yīng)用程序可以在Web服務(wù)應(yīng)用程序工作流中一起處理業(yè)務(wù)問題。因而,Web 服務(wù)解決的主要問題是數(shù)據(jù)和應(yīng)用程序集成的問題和將技術(shù)性的功能轉(zhuǎn)換成面向業(yè)務(wù)的計算任務(wù)的問題。這兩個方面使業(yè)務(wù)人員可以就流程或應(yīng)用程序?qū)用媾c他們的合作伙伴進行交流,同時為適應(yīng)新形勢或按照需要與不同合作伙伴進行合作留有動態(tài)的余地。 Web service 的意義 Web Service對于Web 開發(fā)者的重要意義在于,當我們需要在不同的服務(wù)端、不同的熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn)客戶端乃至不同的應(yīng)用類型、不同的計算設(shè)備之間傳遞信息的時候,以往的分布式開發(fā)技術(shù)因為適應(yīng)性不強或者擴展能力不足,都難以滿足現(xiàn)代Web開發(fā)的需要,而Web service正好填補了這一空白。Web service希望實現(xiàn)不同的系統(tǒng)之間能夠用“軟件一軟件對話”的方式相互調(diào)用,打破了軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間的格格不入的狀態(tài),實現(xiàn)“基于Web無縫集成” 的目標。 Web Service 的特點 下面我們從以下幾個方面來理解Web Service: (I)、Web Service 具有完好的封裝性 Web Service是一種部署在Web 上的對象,具備對象的良好封裝性。對于使用者而言,他僅能看到該對象提供的功能列表?! ?2)、Web Service 支持使用松散耦合的分布式應(yīng)用程序這一特征是源于對象/ 組件技術(shù),當一個Web服務(wù)的實現(xiàn)發(fā)生變更的時候,只要Web 服務(wù)的調(diào)用界面不變,Web服務(wù)實現(xiàn)的任何變更對調(diào)用者來說都是透明的?! ?3)、Web Service 使用協(xié)約的規(guī)范性、標準性與一般對象相比,Web Service界面更加規(guī)范化,易于機器理解。而且我們需要對諸如授權(quán)認證、數(shù)據(jù)完整性(比如簽名機制)、消息認證以及事務(wù)的不可否認性等,運用規(guī)范的方法來描述、傳輸和交換。以至于在所有層次上的處理都應(yīng)當是可管理的,因此需要對管理協(xié)約運用同樣的機制。 (4)、Web Service 具有高度的可集成能力由于Web服務(wù)采取簡單的、易理解的標準 Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺的差異,無論是CORBA/DCOM還是EJB都可以通過這一種標準的協(xié)議進行互操作,實現(xiàn)了在當時環(huán)境下最高的可集成性。 (5)、Web Service 具有開放性Web Service 可以與其他 Web Service 進行交互。它具有語言和平臺無關(guān)性。支持CORBA、BCOM、EJB 等多種組件標準。支持各種通訊媒體如:HTTP、SMTP、FTP、RMI/IIOP(遠程方法調(diào)用/inter 對象請求中介協(xié)議)等。 Web Service 的體系結(jié)構(gòu)Web服務(wù)構(gòu)架由三個參與者和三個基本操作構(gòu)成。三個參與者是服務(wù)提供者(Service Provider)、服務(wù)注冊中心 (Service Registry)和服務(wù)請求者(Service Requester):三個基本操熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn)作是發(fā)布(Publish)、查找(Find)和綁定(Bind)。 描述了這些操作、提供這些操作的組件及它們之問的交互。 Web服務(wù)角色、操作和構(gòu)件 圖中Web服務(wù)的三個參與者分別是: (1)、服務(wù)提供者。從企業(yè)的角度看,這是服務(wù)的所有者。從體系結(jié)構(gòu)的角度看,這是托管訪問服務(wù)的平臺。服務(wù)提供者負責創(chuàng)建服務(wù)描述,將服務(wù)描述發(fā)布到一個或多個服務(wù)注冊處,并接收來自一個或多個方法請求者的網(wǎng)絡(luò)服務(wù)調(diào)用消息。在服務(wù)請求者和服務(wù)提供者間,服務(wù)提供者相當于“客戶一服務(wù)器”(C/S)模型中的服務(wù)器?! ?2)、服務(wù)請求者。從企業(yè)的角度看,這是要求滿足特定功能的企業(yè)。從體系結(jié)構(gòu)的角度看,這是尋找并調(diào)用服務(wù),或啟動與服務(wù)的交互的應(yīng)用程序。服務(wù)請求者負責查找發(fā)布在一個或多個服務(wù)注冊處的服務(wù)描述,并負責利用服務(wù)描述,綁定或調(diào)用由服務(wù)提供者提供的網(wǎng)絡(luò)服務(wù)。服務(wù)請求者相當于“客戶一服務(wù)器”(C/S)模型中的客戶。服務(wù)請求者角色可以由瀏覽器來擔當,由人或無用戶界面的程序來控制它?! ?3)、服務(wù)注冊中心。這是可搜索的服務(wù)描述注冊中心,服務(wù)提供者在此發(fā)布他們的服務(wù)描述。在靜態(tài)綁定開發(fā)或動態(tài)綁定執(zhí)行期間,服務(wù)請求者查找服務(wù)并獲得服務(wù)的綁定信息。對于靜態(tài)綁定的服務(wù)請求者,服務(wù)注冊中心是體系結(jié)構(gòu)中的可選角色,因為服務(wù)提供者可以把描述直接發(fā)送給服務(wù)請求者。同樣,服務(wù)請求者可以從服務(wù)注冊中心以外的其它來源得到服務(wù)描述,例如本地文件、FTP站點、Web 站點、廣告和服務(wù)發(fā)現(xiàn)(Advertisement and Discovery of Services,ADS)或發(fā)現(xiàn)Web 服務(wù)。服務(wù)注冊中心起服務(wù)請求者和提供者間的中介作用,負責為服務(wù)請求者匹配服務(wù)提供者。 ?! eb服務(wù)體系結(jié)構(gòu)中的操作:發(fā)布服務(wù)描述、查詢或查找服務(wù)描述以及根據(jù)服務(wù)描述綁定或調(diào)用服務(wù),這些行為可以單次或反復(fù)出現(xiàn)。具體操作為:熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn) 1) 、發(fā)布。為了使服務(wù)可訪問,需要發(fā)布服務(wù)描述以使服務(wù)請求者可以查找它,發(fā)布服務(wù)描述的位置可以根據(jù)應(yīng)用程序的要求而變化?! ?) 、查找。在查找操作中,服務(wù)請求者直接檢索服務(wù)描述或在服務(wù)注冊中心中查詢所要求的服務(wù)類型。對于服務(wù)請求者,可能會在兩個不同的生命周期階段中牽涉到查找操作:在設(shè)計時為了程序開發(fā)而檢索服務(wù)的接口描述,在運行時為了調(diào)用而檢索服務(wù)的綁定和位置描述。 3) 、綁定。在綁定操作中,服務(wù)請求者使用服務(wù)描述中的綁定細節(jié)來定位、聯(lián)系和調(diào)用服務(wù),從而在運行時調(diào)用或啟動與服務(wù)的交互。Web 服務(wù)的構(gòu)件是由服務(wù)與服務(wù)描述組成。 Web 服務(wù)是一個由服務(wù)描述來描述的接口,服務(wù)描述的實現(xiàn)就是該服務(wù)。服務(wù)是一個軟件模塊,它部署在由服務(wù)提供者提供的可以通過網(wǎng)絡(luò)訪問的平臺上。服務(wù)存在就是要被服務(wù)請求者調(diào)用或者同服務(wù)請求者交互。當服務(wù)的實現(xiàn)中利用到其它的 Web 服務(wù)時,它也可以作為請求者。服務(wù)描述包含服務(wù)的接口和實現(xiàn)的細節(jié),其中包括服務(wù)的數(shù)據(jù)類型、操作、綁定信息和網(wǎng)絡(luò)位置。還包括可以方便服務(wù)請求者發(fā)現(xiàn)和利用的分類及其它元數(shù)據(jù)。服務(wù)描述可以被發(fā)布給服務(wù)請求者或服務(wù)注冊中心。 Web Service 的技術(shù)支持 Web Service基于開放的因特網(wǎng)標準,所以Web Service平臺需要一套協(xié)議來實現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺都有它的數(shù)據(jù)表示方法和類型系統(tǒng),要實現(xiàn)互操作性,Web Service平臺必須提供一套標準的類型系統(tǒng),用于溝通不同平臺、編程語言和組件模型中的不同類型系統(tǒng)。 Web服務(wù)的簡單技術(shù)體系 Web Service“stack”,:其中,藍色部分是目前開發(fā)的Web 服務(wù)的相關(guān)標準協(xié)議,包括服務(wù)調(diào)用協(xié)議SOAP、服務(wù)描述協(xié)議WSDL和服務(wù)發(fā)現(xiàn)/集成協(xié)議 UDDI。綠色部分是先前已經(jīng)定義好的并且廣泛使用的傳輸層和網(wǎng)絡(luò)層的標準:IP、HTTP 、SMTP等。熊海斌:基于 Web Service 的統(tǒng)一身份認證系統(tǒng)的研究與實現(xiàn) Web Service技術(shù)架構(gòu) XML 和 XSD 可擴展的標記語言XML是Web Service 平臺中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點在于它既與平臺無關(guān),又與廠商無關(guān)。 XML是由萬維網(wǎng)協(xié)會(W3C)創(chuàng)建,W3C制定的XML SchemaXSD定義了一套標準的數(shù)據(jù)類型,并給出了一種語言來擴展這套數(shù)據(jù)類型。Web Service平臺是用XSD來作為數(shù)據(jù)類型系統(tǒng)的。當 或C來構(gòu)造一個Web Service時,為了符合Web Service標準,所有你使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。 XML Web Service是在Inter上進行分布式計算的基本構(gòu)造塊,它成為應(yīng)用程序集成的平臺。XML Web Service具有以下特點: (1)、XML Web Service通過標準的Web協(xié)議向Web用戶提供有用的功能。多數(shù)情況下使用SOAP協(xié)議。 (2)、XML Web Service可以非常詳細地說明其接口,這使用戶能夠創(chuàng)建客戶端應(yīng)用程序與它們進行通信。這種說明通常包含在稱為Web服務(wù)說明語言(WSDL)文檔的XML文檔中?! ?3)、XML Web Service已經(jīng)