監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關(guān)閉

SOA統(tǒng)一身份認(rèn)證服務(wù)架構(gòu)的設(shè)計與實現(xiàn)

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件

建設(shè)數(shù)字化校園的目標(biāo)是消除校園網(wǎng)中的信息孤島,整合校園網(wǎng)中的各種應(yīng)用系統(tǒng)并實現(xiàn)統(tǒng)一的身份認(rèn)證服務(wù)機制。運用SOA構(gòu)建統(tǒng)一身份認(rèn)證服務(wù)架構(gòu),一方面它實現(xiàn)了平臺無關(guān)性,另一方面實現(xiàn)了分布式部署、組合和使用的服務(wù)。

隨著近幾年高校對校園網(wǎng)絡(luò)基礎(chǔ)硬件設(shè)施擴建的完成,很多高校已開始建設(shè)數(shù)字化校園,而統(tǒng)一身份認(rèn)證服務(wù)作為數(shù)字化校園建設(shè)的基礎(chǔ)部分,它是每個高校建設(shè)數(shù)字化校園所面臨的一個問題。筆者以在數(shù)字化校園建設(shè)方面具有特色的部分高校為例,研究其校園網(wǎng)的統(tǒng)一身份認(rèn)證服務(wù)后,發(fā)現(xiàn)它們都別具一格,各有所長,但在總體架構(gòu)上沒有一套統(tǒng)一、完善的理論與方法。本文運用SOA(Service—Oriented Architecture)模型,設(shè)計并實現(xiàn)了一個基于SOA的統(tǒng)一身份認(rèn)證服務(wù)架構(gòu)的方案。

1 統(tǒng)一身份認(rèn)證服務(wù)架構(gòu)

1.1面向服務(wù)的架構(gòu)SOA

SOA(Service—Oriented Architecture)是一種軟件架構(gòu)模型,它可以根據(jù)需要對松耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)之間采用松耦合有兩大好處,第一是各種服務(wù)能夠靈活組合,第二是每個服務(wù)的內(nèi)部結(jié)構(gòu)和實現(xiàn)發(fā)生改變時,其構(gòu)成的整個應(yīng)用程序無需改變。反之,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當(dāng)需要對部分或整個應(yīng)用程序進(jìn)行某種形式的更改時,不易對其進(jìn)行重構(gòu)。SOA的關(guān)鍵是“服務(wù)”的概念,在該架構(gòu)中,定義了兩個角色,服務(wù)提供者和服務(wù)使用者。

目前支持SOA架構(gòu)概念的軟件體系有好幾種。使用基于SOAP協(xié)議的Web服務(wù)技術(shù)來構(gòu)建統(tǒng)一身份認(rèn)證服務(wù)架構(gòu),這種技術(shù)正快速發(fā)展。是未來的發(fā)展方向,它提供了一個系統(tǒng)架構(gòu)以及一系列的技術(shù)標(biāo)準(zhǔn)與規(guī)范。

1.2基于SOA的統(tǒng)一身份認(rèn)證架構(gòu)

統(tǒng)一身份認(rèn)證服務(wù)主要實現(xiàn)用戶管理、身份認(rèn)證、分級權(quán)限管理和單點登錄等功能。以解決校園數(shù)字化建設(shè)過程中用戶定義模糊、用戶身份組織零亂、交叉權(quán)限管理定義和應(yīng)用系統(tǒng)入口多樣性等棘手的問題。

本系統(tǒng)架構(gòu)以北京大學(xué)和重慶大學(xué)等已建設(shè)或正在建設(shè)的統(tǒng)一身份認(rèn)證服務(wù)為研究基礎(chǔ),結(jié)合SOA等技術(shù)對統(tǒng)一身份認(rèn)證服務(wù)進(jìn)行了進(jìn)一步定義。在基于SOA的統(tǒng)一身份認(rèn)證服務(wù)架構(gòu)中,依據(jù)SOA定義的服務(wù)提供者和服務(wù)使用者角色,將統(tǒng)一身份認(rèn)證服務(wù)所要實現(xiàn)的功能封裝成為服務(wù)提供者,作為服務(wù)使用者的各應(yīng)用系統(tǒng)必須依據(jù)統(tǒng)一服務(wù)接口所定義的調(diào)用方法才能調(diào)用服務(wù)。服務(wù)提供者按三層結(jié)構(gòu)來設(shè)計,分別為統(tǒng)一認(rèn)證中心數(shù)據(jù)庫、統(tǒng)一信息管理和統(tǒng)一服務(wù)接口。對統(tǒng)一認(rèn)證中心數(shù)據(jù)庫的訪問操作經(jīng)過封裝后。只有經(jīng)過統(tǒng)一服務(wù)接口才能進(jìn)行訪問,同時在統(tǒng)一服務(wù)接口處設(shè)置相應(yīng)的安全性檢查和訪問控制的策略匹配來提高對中心數(shù)據(jù)庫的訪問安全。

服務(wù)使用者調(diào)用一次服務(wù)的過程為:1)服務(wù)使用者依據(jù)認(rèn)證語言及語法構(gòu)造認(rèn)證指令。21使用與服務(wù)提供者約定的加密算法對認(rèn)證指令進(jìn)行加密。3)將加密后的密文封裝成SOAP消息,并將消息發(fā)送到服務(wù)提供者。4)服務(wù)提供者收到SOAP消息后拆封并提取消息。5)使用與服務(wù)使用者約定的加密算法解密密文。 6)對明文進(jìn)行語法、語義進(jìn)行有效性驗證,通過驗證后執(zhí)行認(rèn)證指令。71將執(zhí)行的結(jié)果加密、封裝為SOAP消息并再發(fā)送給服務(wù)使用者。8)服務(wù)使用者收到 SOAP消息后拆封、解密并提取執(zhí)行的結(jié)果。在上面所提到的認(rèn)證指令是基于XML格式的,所以構(gòu)造與解析認(rèn)證指令實際上是對XML的序列化與反序列化的過程,同時執(zhí)行結(jié)果也是XML格式的,所以提取執(zhí)行結(jié)果實際上也是對XML的處理,認(rèn)證指令的描述見下節(jié)。對認(rèn)證指令及執(zhí)行結(jié)果的加密與否在這里是可選的。當(dāng)返回的執(zhí)行結(jié)果的信息量很大而對安全性要求不高的內(nèi)容可以不進(jìn)行加密而直接返回明文,從而減少加密與解密所花的時間。

2 關(guān)鍵技術(shù)的設(shè)計與實現(xiàn)

2.1 SOAP消息

2.1.1消息的流程

基于SOAP協(xié)議的消息的請求/響應(yīng)過程經(jīng)過4個階段:服務(wù)使用者構(gòu)造SOAP消息、服務(wù)提供者接收并解析SOAP消息、服務(wù)提供者響應(yīng)并構(gòu)造SOAP消息、服務(wù)使用者接收并解析SOAP消息。

2.1.2消息的定義

在這里,服務(wù)使用者與服務(wù)提供者之間是通過SOAP消息的方式相互通信,并根據(jù)需要對SOAP消息進(jìn)行了一些自定義。

其中,元素中的bSecurityFlag屬性是加密標(biāo)志,它的數(shù)據(jù)類型為值布爾性,取值可以是True和False,分別對應(yīng)密文和明文兩種類型,加密的對象是元素中的內(nèi)容。元素包含認(rèn)證指令。

2)SOAP HTTP響應(yīng)消息格式如下:

2.2認(rèn)證指令系統(tǒng)

2.2.1認(rèn)證指令系統(tǒng)模型

為了定義規(guī)范的接口,通過模擬命令行系統(tǒng)中的指令系統(tǒng),構(gòu)造一個基于XML的指令系統(tǒng),此模型總體結(jié)構(gòu)由以下幾個部分組成:

1)認(rèn)證指令控制器

認(rèn)證指令控制器的主要功能是解析用戶提交的認(rèn)證指令。即驗證用戶的合法性;檢查認(rèn)證指令語法的正確性;對認(rèn)證指令和返回值進(jìn)行解密和加密:對系統(tǒng)接口的訪問進(jìn)行日志記錄。

2)認(rèn)證指令執(zhí)行器

認(rèn)證指令執(zhí)行器的目的在于實現(xiàn)有指令語法控制器轉(zhuǎn)交的具體任務(wù)。指令執(zhí)行器接收指令,根據(jù)指令進(jìn)行相應(yīng)的操作,然后將執(zhí)行結(jié)果以XML格式返回給指令控制器。

3)XML認(rèn)證語言

XML語言是被多種開發(fā)語言良好支持的擴展標(biāo)記語言,建立在XML基礎(chǔ)上的認(rèn)證語言將很好被其他開發(fā)語言解析利用。

2.2.2認(rèn)證指令格式的定義

通過將指令序列化為XML格式是為了提高它的可讀性和跨平臺性。當(dāng)前使用的任何平臺,任何語言都能夠正確處理與理解XML格式的文件。當(dāng)使用XML格式的認(rèn)證語言后它就不再局限于一種平臺或一種高級語言的處理,它可以使用于任何平臺、任何語言。

1)認(rèn)證指令格式

其中,元素用于通知認(rèn)證指令控制器服務(wù)請求者提交的指令,認(rèn)證指令控制器根據(jù)元素所包含的內(nèi)容決定調(diào)用何種指令執(zhí)行器。由于一個指令可能包括多于一個的參數(shù),所以元素的每一個子元素都為一個參數(shù),并且都帶有參數(shù)類型param Type屬性及參數(shù)的名稱paramName屬性。

由于執(zhí)行結(jié)果返回的值不一定只有一個值,例如返回一條記錄,而一條記錄中又包括了諸多字段,所以使用元素的子元素來返回一條記錄中的一個字段,并且還包括字段名稱returnName及字段類型retumType.同時又有可能返回多于一條的記錄。所以使用元素。服務(wù)提供者將不同的執(zhí)行結(jié)果序列化為標(biāo)準(zhǔn)XML格式的內(nèi)容,而返回給服務(wù)使用者后它可以通過將XML反序列化為自己需要的格式并進(jìn)行相應(yīng)的處理。

3 結(jié)束語

統(tǒng)一身份認(rèn)證服務(wù)作為數(shù)字化校園建設(shè)的基礎(chǔ),它的架構(gòu)與建設(shè)將直接影響一個學(xué)校數(shù)字化校園建設(shè)的水平及使用周期。構(gòu)建一個具有可擴展性、跨平臺、高可靠性的統(tǒng)一身份認(rèn)證服務(wù)是每個學(xué)校都所期望的。本文通過分析、研究國內(nèi)個別在數(shù)字化校園建設(shè)方面具有特色的學(xué)校的統(tǒng)一身份認(rèn)證服務(wù),并通過實際設(shè)計與構(gòu)建統(tǒng)一身份認(rèn)證服務(wù)后提出了統(tǒng)一身份認(rèn)證服務(wù)的架構(gòu)。

發(fā)布:2007-04-21 11:21    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
南昌OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普南昌OA行業(yè)資訊其他應(yīng)用

南昌OA軟件 南昌OA新聞動態(tài) 南昌OA信息化 南昌OA快博 南昌OA行業(yè)資訊 南昌軟件開發(fā)公司 南昌門禁系統(tǒng) 南昌物業(yè)管理軟件 南昌倉庫管理軟件 南昌餐飲管理軟件 南昌網(wǎng)站建設(shè)公司