基于Web Services的數(shù)字化校園的構(gòu)建研究_第1頁
基于Web Services的數(shù)字化校園的構(gòu)建研究_第2頁
基于Web Services的數(shù)字化校園的構(gòu)建研究_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于WebServices的數(shù)字化校園的構(gòu)建研究

這些businessService的信息集合可以再次加以分類,使Web應(yīng)用服務(wù)的描述可以按不同的行業(yè)、產(chǎn)品、服務(wù)類型或是地域劃分來進(jìn)行。分類的方法的機(jī)制與businessEntity是類似的。

(3)技術(shù)綁定信息:bindingTemplate元素

對于每一個(gè)businessService,存在一個(gè)或多個(gè)Web服務(wù)的技術(shù)描述bindingTemplate。這些技術(shù)描述包括應(yīng)用程序連接遠(yuǎn)程Web服務(wù)并與之通訊所必須的信息。這些信息包括Web應(yīng)用服務(wù)的地址、應(yīng)用服務(wù)宿主和調(diào)用服務(wù)前必須調(diào)用的附加應(yīng)用服務(wù)等。另外,通過附加的特性還可以實(shí)現(xiàn)一些復(fù)雜的路由選擇,諸如負(fù)載平衡等。

(4)元技術(shù)信息:tModel元素

調(diào)用一個(gè)服務(wù)所需要的信息是在bindingTemplate的結(jié)構(gòu)中定義的。不過一般來說,僅知道Web服務(wù)所在的地址是不夠的。例如,如果知道合作伙伴提供一個(gè)Web服務(wù)來讓我下訂單,同時(shí)也知道這個(gè)服務(wù)的URL,不過如果不知道一些具體的信息,如訂單的具體格式,應(yīng)該使用的協(xié)議,需要采用的安全機(jī)制,調(diào)用返回的響應(yīng)格式等,那樣的話,通過Web服務(wù)將兩個(gè)系統(tǒng)集成起來仍然是非常困難的。

當(dāng)一個(gè)程序需要調(diào)用某個(gè)特定的Web服務(wù)時(shí),必須根據(jù)應(yīng)用要求得到了足夠充分的調(diào)用規(guī)范等相關(guān)信息,以使調(diào)用被正確地執(zhí)行。因此,每一個(gè)bindingTemplate元素都包含一個(gè)特殊的元素,該元素包含了一個(gè)列表,列表的每個(gè)子元素分別是一個(gè)調(diào)用規(guī)范的引用。這些引用作為一個(gè)標(biāo)識(shí)符的雜湊集合,組成了類似指紋的技術(shù)標(biāo)識(shí),用來查找、識(shí)別實(shí)現(xiàn)了給定行為或編程接口的Web服務(wù)。

4.3單點(diǎn)登錄

4.3.1單點(diǎn)登錄概述

單點(diǎn)登錄(SingleSignOn),簡稱為SSO,是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。SSO的定義是用戶只需進(jìn)行一次登錄注冊,就可以訪問多個(gè)相互聯(lián)系的應(yīng)用系統(tǒng),而不必反復(fù)進(jìn)行身份認(rèn)證[4]。

4.3.2單點(diǎn)登錄設(shè)計(jì)

通過Web服務(wù)實(shí)現(xiàn)用戶身份驗(yàn)證,驗(yàn)證通過后將自動(dòng)隨機(jī)生成ticket,并傳給用戶,當(dāng)用戶訪問其他應(yīng)用系統(tǒng)時(shí),僅需對ticket進(jìn)行合法性驗(yàn)證。在這里,Web服務(wù)只需實(shí)現(xiàn)用戶登錄基本信息驗(yàn)證、ticket生成、ticket合法性驗(yàn)證這三個(gè)功能,就可以進(jìn)行統(tǒng)一身份認(rèn)證。單點(diǎn)登錄模型的體系結(jié)構(gòu)如圖4所示[5]。

4.3.3單點(diǎn)登錄實(shí)現(xiàn)

服務(wù)器端在開發(fā)時(shí)所使用的操作系統(tǒng)為WindowsServer2003,數(shù)據(jù)庫為SQLServer2000,在Eclipse開發(fā)環(huán)境下進(jìn)行開發(fā)調(diào)試,使用Tomcat5作為服務(wù)器,axis2作為SOAP搜索引擎。當(dāng)環(huán)境部署完成之后,進(jìn)行應(yīng)用程序的開發(fā),將單點(diǎn)登錄系統(tǒng)以定制方式發(fā)布為Web服務(wù),成為服務(wù)提供者,為校園不同部門機(jī)構(gòu)門戶提供服務(wù)。

4.4CA認(rèn)證中心

4.4.1CA簡介

CA(CertificateAuthority)[6]是數(shù)字證書認(rèn)證中心的簡稱,是指發(fā)放、管理、廢除數(shù)字證書的機(jī)構(gòu)。CA的作用是檢查證書持有者身份的合法性,并簽發(fā)證書(在證書上簽字),以防證書被偽造或篡改,以及對證書和密鑰進(jìn)行管理[7]。

4.4.2公鑰體系結(jié)構(gòu)中的一些基本概念與結(jié)構(gòu)組成

(1)密鑰對

在基于公鑰體系的安全系統(tǒng)中,密鑰是成對生成的,每對密鑰由一個(gè)公鑰和一個(gè)私鑰組成。在實(shí)際應(yīng)用中,私鑰由擁有者自己保存,而公鑰則需要公布于眾。為了使基于公鑰體系的業(yè)務(wù)能夠廣泛應(yīng)用,一個(gè)基礎(chǔ)性關(guān)鍵的問題就是公鑰的分發(fā)與管理。

公鑰本身并沒有什么標(biāo)記,僅從公鑰本身不能判別公鑰的主人是誰。

在很小的范圍內(nèi),比如A和B這樣的兩個(gè)小集體,他們之間相互信任,交換公鑰,在互聯(lián)網(wǎng)上通訊,沒有什么問題。這個(gè)集體再稍大一點(diǎn),也許彼此信任也不成問題,但從法律角度講這種信任也是有問題的。如再大一點(diǎn),信任問題就成了一個(gè)大問題。

(2)證書

互聯(lián)網(wǎng)絡(luò)的用戶群絕不是幾個(gè)人互相信任的小集體,在這個(gè)用戶群中,從法律角度講用戶彼此之間都不能輕易信任。所以公鑰加密體系采取了另一個(gè)辦法,將公鑰和公鑰的主人名字聯(lián)系在一起,再請一個(gè)大家都信得過有信譽(yù)的公正、權(quán)威機(jī)構(gòu)確認(rèn),并加上這個(gè)權(quán)威機(jī)構(gòu)的簽名,這就形成了證書。

由于證書上有權(quán)威機(jī)構(gòu)的簽字,所以大家都認(rèn)為證書上的內(nèi)容是可信任的;又由于證書上有主人的名字等身份信息,別人就很容易地知道公鑰的主人是誰。

(3)CA

CA也擁有一個(gè)證書(內(nèi)含公鑰),當(dāng)然,它也有自己的私鑰,所以它有簽字的能力。網(wǎng)上的公眾用戶通過驗(yàn)證CA的簽字從而信任CA,任何人都應(yīng)該可以得到CA的證書(含公鑰),用以驗(yàn)證它所簽發(fā)的證書。

如果用戶想得到一份屬于自己的證書,他應(yīng)先向CA提出申請。在CA判明申請者的身份后,便為他分配一個(gè)公鑰,并且CA將該公鑰與申請者的身份信息綁在一起,并為之簽字后,便形成證書發(fā)給那個(gè)用戶(申請者)。

如果一個(gè)用戶想鑒別另一個(gè)證書的真?zhèn)危陀肅A的公鑰對那個(gè)證書上的簽字進(jìn)行驗(yàn)證(如前所述,CA簽字實(shí)際上是經(jīng)過CA私鑰加密的信息,簽字驗(yàn)證的過程還伴隨使用CA公鑰解密的過程),一經(jīng)驗(yàn)證通過,該證書就被認(rèn)為是有效的。

CA除了簽發(fā)證書之外,它的另一個(gè)重要作用是證書和密鑰的管理。

由此可見,證書就是用戶在網(wǎng)上的電子個(gè)人身份證,同日常生活中使用的個(gè)人身份證作用一樣。CA相當(dāng)于網(wǎng)上公安局,專門發(fā)放、驗(yàn)證身份證。

4.4.3認(rèn)證模塊的實(shí)現(xiàn)

(1)訪問控制的設(shè)計(jì)思想

用戶登錄系統(tǒng)時(shí),客戶端和服務(wù)器端利用數(shù)字證書進(jìn)行雙向認(rèn)證,建立SSL連接,然后查詢數(shù)據(jù)庫,對用戶進(jìn)行授權(quán),并將權(quán)限集合保存在會(huì)話中。之后的交互中,用戶每次發(fā)出請求,系統(tǒng)都先進(jìn)行權(quán)限判定的過濾,以實(shí)現(xiàn)對靜態(tài)資源(靜態(tài)HTML頁面、圖片資源等)與動(dòng)態(tài)資源(JSP頁面、Servlet和Bean等)的細(xì)粒度的訪問控制,為系統(tǒng)的安全訪問提供有效保障。

(2)數(shù)字證書簽發(fā)工具

通過SWING技術(shù)開發(fā)簡易的證書制作工具生成根證書、簽署證書和導(dǎo)出公鑰證書等。

生成根證書的關(guān)鍵代碼如下:

//根據(jù)所給算法實(shí)例化密鑰對產(chǎn)生器

CertAndKeyGenkeyPair=new

CertAndKeyGen(keyAlg,sigAlg);

//產(chǎn)生長度為keySize的密鑰對

keyPair.generate(keySize);

PrivateKeypriKey=keyPair.getPrivateKey();

//根據(jù)所填信息,創(chuàng)建X500Name實(shí)例

X500Namex500Name:ereateX500Name();

//生成自簽名證書

X509Certificateeert=keyPair.getSelfCertifieate

(x500Name,validity木24木60術(shù)60);

//設(shè)置證書鏈

X509Certifleate[]chain={cert};

ks.setKeyEntry(alias,priKey,keyPass,chain);

4.4.4配置SSL

修改IBMHttpServer/conf/httpd.conf文件,在最下面增加:

LoadModuleibm_ssl_module

modules/IBMModuleSSL128.dll

Listen80

Listen443

KeyfileF:/NEW/key.kdb

SSLDisable

SSLV2Timeout100

SSLV3Timeout1000

ServerNamenetsoft-4d52657

ServerNamenetsoft-4d52657

SSLEnable

SSLClientAuthoptional

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論