專利名稱:用于向萬維網(wǎng)服務(wù)器驗證用戶的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及聯(lián)網(wǎng)的計算機系統(tǒng),更具體地說,本發(fā)明涉及用戶驗證和訪問一個或多個web(萬維網(wǎng))服務(wù)器。
背景技術(shù):
在典型的基于web服務(wù)器的應(yīng)用程序中,通過web服務(wù)器來訪問信息,其中具有需要憑用戶ID和/或密碼來驗證用戶的應(yīng)用程序。當(dāng)用戶請求訪問由web服務(wù)器控制的信息時,web服務(wù)器通常具有登錄/驗證手續(xù),其獨立于用戶以前遇到的登錄/驗證手續(xù)。為了訪問資源,必須給出合適的驗證數(shù)據(jù),以向web服務(wù)器驗證用戶。按常規(guī)方法完成這一點,需要用戶輸入新web服務(wù)器特有的附加登錄/驗證信息,或是對通用的登錄和密碼進行硬編碼。
這兩種方案都不盡如人意。要求用戶為每次訪問請求都輸入附加信息給用戶帶來了記憶眾多登錄和密碼的負擔(dān),而且,如果在網(wǎng)絡(luò)上不加密地傳輸密碼,則這會成為潛在的安全風(fēng)險。在腳本中使用通用或靜態(tài)的登錄和密碼是潛在的安全漏洞,而且不便于基于用戶身份提供不同級別的訪問。
新技術(shù)LAN管理器(NTLM)自動驗證系統(tǒng)嘗試著解決這些問題。在NTLM系統(tǒng)中,只要用戶最初通過了Microsoft網(wǎng)絡(luò)或Microsoft Windows NT域的驗證(使用密碼),相似組件(Web瀏覽器和服務(wù)器)就會相互保證用戶身份。這種保證對用戶透明。不過,該系統(tǒng)不向任何NT域外的,或與原域沒有信任關(guān)系的web服務(wù)器提供驗證。因此,NTLM驗證系統(tǒng)的實用性有限。
其它常規(guī)系統(tǒng)還提供對獨立網(wǎng)絡(luò)資源的訪問而無需為驗證數(shù)據(jù)提示用戶。當(dāng)這些系統(tǒng)接收到用戶訪問獨立網(wǎng)絡(luò)資源的請求時,系統(tǒng)登錄和服務(wù)器驗證數(shù)據(jù)被自主提供給獨立網(wǎng)絡(luò)資源而無需其它用戶交互。然而,這些系統(tǒng)沒有考慮萬維網(wǎng)超文本傳輸協(xié)議環(huán)境,并且一般沒有考慮基于用戶角色的驗證信息。這些系統(tǒng)在本地計算機系統(tǒng)的主內(nèi)存中保持了密碼緩存。該密碼緩存包含服務(wù)器名、用戶名和密碼,用于將被特定用戶訪問的各服務(wù)器。當(dāng)給出了訪問請求后,網(wǎng)絡(luò)軟件在密碼緩存結(jié)構(gòu)中搜索服務(wù)器驗證信息,然后發(fā)送給待訪問的服務(wù)器。
其它常規(guī)系統(tǒng)通過實現(xiàn)用戶計算機網(wǎng)絡(luò)內(nèi)部的防火墻,基于與特定終端關(guān)聯(lián)的分級類別和/或ID來對用戶訪問因特網(wǎng)信息進行限制。防火墻防止用戶訪問某些類型的因特網(wǎng)信息(例如,防止兒童訪問不健康信息,防止雇員訪問與工作無關(guān)的信息,等等)。這些系統(tǒng)考慮了對訪問遠程資源(假定為公共資源)的內(nèi)部授權(quán),但沒有考慮遠程服務(wù)器需要驗證信息的系統(tǒng)。
圖1是表示網(wǎng)絡(luò)系統(tǒng)10的常規(guī)配置框圖,該網(wǎng)絡(luò)系統(tǒng)包括與客戶機14通信的web服務(wù)器12??蛻魴C14執(zhí)行web瀏覽器16的功能,其提供用戶界面(未示出),以通過web服務(wù)器12來訪問資源。web服務(wù)器12需要用戶驗證數(shù)據(jù),以允許訪問其資源。web瀏覽器16和web服務(wù)器12通過通信鏈路18交換HTTP格式的通信信號。
在本領(lǐng)域里已公知,服務(wù)器被用于數(shù)據(jù)緩存(當(dāng)首次讀取數(shù)據(jù)時保持該數(shù)據(jù),以備下次需要),并作為驗證服務(wù)器用于“防火墻”處的入流(incoming traffic)(即,常規(guī)服務(wù)器接受或拒絕用戶驗證)。服務(wù)器的一個例子是廣告過濾器,與瀏覽器在同一臺計算機上,并且可以從網(wǎng)頁上去掉廣告。
概述本發(fā)明的系統(tǒng)和方法示例提供了一種獨立于其它應(yīng)用程序的服務(wù)器,如網(wǎng)絡(luò)服務(wù)器,并自動截取來自web服務(wù)器的、將用于瀏覽器的驗證請求。服務(wù)器通過向用戶透明地提供驗證數(shù)據(jù),如用戶身份和密碼來直接響應(yīng)驗證請求。服務(wù)器可與web瀏覽器交互,以請求驗證數(shù)據(jù),但優(yōu)選的是在含瀏覽器和/或服務(wù)器的系統(tǒng)上查找驗證數(shù)據(jù)。
根據(jù)本發(fā)明系統(tǒng)和方法示例的驗證方案允許用戶憑單一的驗證手續(xù)訪問諸多受保護的資源,這大大提高了用戶使用系統(tǒng)的便利。此外,由于服務(wù)器代表用戶執(zhí)行驗證,因此可使用瀏覽器不支持的驗證方法來驗證訪問受保護資源的用戶。
從下面對實施例的詳細描述中,說明了或顯而易見本發(fā)明的以上和其它特征和優(yōu)點。
附圖簡要說明下面結(jié)合附圖詳細說明本發(fā)明的實施例,其中圖1是包含與遠程web服務(wù)器通信的web瀏覽器的常規(guī)網(wǎng)絡(luò)框圖;圖2包含與本發(fā)明的第一實施例通信的web服務(wù)器的網(wǎng)絡(luò)框圖;圖3是根據(jù)本發(fā)明說明從客戶機通過遠程web服務(wù)器訪問資源的示例方法的流程圖;圖4是包含與本發(fā)明的第二實施例通信的web服務(wù)器的另一網(wǎng)絡(luò)框圖,該實施例允許使用專屬驗證方案(proprietary authentication scheme)來傳送用戶身份和其它憑證。
詳細說明圖2是表示包含與根據(jù)本發(fā)明實施例的客戶機24通信的web服務(wù)器22的網(wǎng)絡(luò)20框圖??蛻魴C24執(zhí)行web瀏覽器26和服務(wù)器28的功能。web瀏覽器26通過通信鏈路30經(jīng)服務(wù)器28與web服務(wù)器22通信。
服務(wù)器28是向主機設(shè)備或諸如web瀏覽器26的其它(客戶機)程序提供驗證服務(wù)的程序。服務(wù)器28可以在等待請求到達的同時運行,也可以由更高級別的程序或設(shè)備(如web瀏覽器)調(diào)用。優(yōu)選的是,服務(wù)器28放置在與web瀏覽器26相同的設(shè)備上,從而可以方便地訪問放置在客戶機24中的用戶憑證。服務(wù)器28優(yōu)選實現(xiàn)為用于單獨瀏覽器和/或用戶的單獨服務(wù)器。
在圖2的實施例中,服務(wù)器28接收來自瀏覽器或操作系統(tǒng),或存儲在例如客戶機24等其它地方的驗證數(shù)據(jù),并自動和透明地(對用戶和/或瀏覽器)向web服務(wù)器22提供該數(shù)據(jù)。應(yīng)該理解該驗證數(shù)據(jù)可存儲在任何服務(wù)器28可以訪問的地方。當(dāng)服務(wù)器28與web服務(wù)器22通信時,截取客戶機設(shè)備24遇到的所有驗證請求。對于每個請求,服務(wù)器28確定其是否配置為響應(yīng)驗證請求,也就是說,服務(wù)器28是否具有(例如,存儲在其自身的資源中)或可以獲得(例如,從客戶機24上的web瀏覽器26或其它資源)足夠的驗證數(shù)據(jù),以直接響應(yīng)需要驗證的web服務(wù)器22。如果服務(wù)器28確定其配置為響應(yīng)請求,則它自動和透明地對web瀏覽器26實行與web服務(wù)器22的超文本傳輸協(xié)議(HTTP)驗證交換(例如,通過保存用于驗證的原始HTTP請求,并將具有用戶憑證的驗證頭引入所保存的請求)。如果服務(wù)器28沒有配置為響應(yīng)請求,則將該請求傳送給web瀏覽器26,這可以指示用戶輸入數(shù)據(jù),以驗證訪問由web服務(wù)器22控制的資源的用戶。如果用戶想訪問第二遠程服務(wù)器(未示出),這可以與第二遠程設(shè)備和系統(tǒng)(未示出)相關(guān)聯(lián),則服務(wù)器28可以截取任何來自第二遠程服務(wù)器的驗證請求,并基本上如上所述進行操作,以響應(yīng)第一個驗證請求。需注意到服務(wù)器28可以確定與其交互的web服務(wù)器,以提供正確的數(shù)據(jù)。因此,本發(fā)明的驗證方法和系統(tǒng)示例允許使用單一簽到(sign-on)手續(xù)自動和透明地向多臺服務(wù)器驗證用戶。
盡管圖2所示的第一示例實施例示出了配置在客戶機24上的web瀏覽器26和服務(wù)器28,但需注意到客戶機24的組件也可位于諸如局域網(wǎng)、廣域網(wǎng)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和/或因特網(wǎng)等分布式網(wǎng)絡(luò)的遠端。因此,需注意到客戶機24的組件可以合并為一個設(shè)備,或配置在分布式網(wǎng)絡(luò)的特定節(jié)點。從以下說明中可知由于計算效率的原因,客戶機24的組件可配置在分布式網(wǎng)絡(luò)中的任何位置而不影響系統(tǒng)的操作。
此外,盡管圖中未示出,但應(yīng)該理解客戶機24可以包括一個或多個輸入設(shè)備,如鍵盤、鼠標(biāo)、將語音轉(zhuǎn)變?yōu)槲谋镜霓D(zhuǎn)換器或類似裝置;顯示設(shè)備,如計算機顯示器、PDA上的顯示屏或其它任何能向一個或多個用戶顯示信息的設(shè)備;以及有關(guān)的控制器、I/O接口和存儲組件。
如圖2所示,客戶機24可用已編程的一般用途計算機來實現(xiàn)。然而,客戶機24也可使用特殊用途的計算機、已編程的微處理器或微控制器和任何必要的外設(shè)集成電路元件、ASIC或其它集成電路、諸如分立元件電路的硬導(dǎo)線電子或邏輯電路、諸如PLD、PLA、FPGA或PAL的可編程邏輯器件,等等。總之,任何設(shè)備,只要其上的有限狀態(tài)機器能夠?qū)崿F(xiàn)圖3的流程圖,都可以用來實現(xiàn)客戶機24。
盡管圖中沒有明確示出,但客戶機包括存儲器,優(yōu)選使用靜態(tài)或動態(tài)RAM。然而,存儲器也可使用軟盤和盤驅(qū)動器、可寫光盤和盤驅(qū)動器、硬盤驅(qū)動器、閃存等。此外,需注意到存儲器可以是單一存儲器的獨有部份,也可以是物理獨有的存儲器。
此外,應(yīng)當(dāng)注意到鏈路18、30和50可以是有線或無線的網(wǎng)絡(luò)鏈路。這些網(wǎng)絡(luò)可以是局域網(wǎng)、廣域網(wǎng)、企業(yè)內(nèi)部互聯(lián)網(wǎng)、因特網(wǎng)或任何其它分布式處理和存儲網(wǎng)絡(luò),只要該網(wǎng)絡(luò)使用HTTP或其它因特網(wǎng)分布式處理協(xié)議。
圖3示出了控制例程的例子,該控制例程用于提供對由web服務(wù)器使用根據(jù)本發(fā)明的服務(wù)器控制的資源的訪問。該控制例程可以在其它更高級別的控制例程中運行。因此,盡管圖3的控制例程結(jié)束了,但應(yīng)該理解在該控制例程結(jié)束后,可以返回其它更高級別的控制例程。
最初,假設(shè)web瀏覽器已位于主機設(shè)備,且該web瀏覽器用戶已登錄,并最初用服務(wù)器進行驗證,以建立用戶身份??刂评淌加诓襟ES100,并前進到步驟S102。在步驟S102,控制例程從web瀏覽器接收訪問請求并前進到步驟S104。在步驟S104,控制例程向web服務(wù)器發(fā)送訪問請求并前進到步驟S106。在步驟S106,控制例程從web服務(wù)器接收響應(yīng)并前進到步驟S108。
在步驟S108,控制例程確定該響應(yīng)是否請求驗證。如果在步驟S108,控制例程確定該響應(yīng)不請求驗證,則控制例程跳至步驟S118,在此控制返回到調(diào)用圖3中控制例程的控制例程。反之,如果在步驟S108,控制例程確定響應(yīng)需要驗證,則控制例程前進到步驟S110。在步驟S108接收到的驗證請求可采用以下形式例如,HTTP協(xié)議中的一個或多個WWW驗證頭,允許服務(wù)器指定可接受的驗證類型。
在步驟S110處,控制例程在客戶機中搜索驗證信息并前進到步驟S112。該驗證信息可存儲在與服務(wù)器直接關(guān)聯(lián)的數(shù)據(jù)庫中,或其它任何服務(wù)器能訪問的地方。在步驟S112,控制例程確定是否找到了驗證信息。如果在步驟S112,控制例程確定已找到了驗證信息,則控制例程前進到步驟S114。反之,如果在步驟S112,控制例程確定在客戶機上沒有找到驗證信息,則控制例程前進到步驟S120。在步驟S120,控制例程請求來自web瀏覽器的驗證信息并前進到步驟S122。如果將驗證請求提供為HTTP中的驗證頭,則服務(wù)器向瀏覽器提供返回的授權(quán)頭,緊隨其后的是適合該驗證方法的驗證令牌(token)。在步驟S122,控制例程接收來自web瀏覽器的驗證信息并前進到步驟S114。
在步驟S114,控制例程向web服務(wù)器提供該驗證信息并前進到步驟S116。在步驟S116,控制例程確定web服務(wù)器是否準予訪問資源。如果在步驟S116,控制例程確定已準予訪問,則控制例程前進到步驟S118。在步驟S118,控制例程將控制返回到調(diào)用圖3中控制例程的控制例程。反之,如果在步驟S116,控制例程確定還沒有準予訪問,則控制例程前進到步驟S124。在步驟S124,控制例程生成錯誤消息并前進到步驟S118。
需注意到本發(fā)明的原理當(dāng)然適用于許多類型的驗證方案。例如,和一般驗證方案(訪問嘗試、用驗證信息請求進行拒絕以及用驗證信息嘗試新訪問)不同,某些類型的驗證可能需要附加步驟。這種驗證協(xié)議的一個例子是查詢-響應(yīng)驗證(如上述NTLM技術(shù)),其中遠程web服務(wù)器拒絕初始訪問請求并請求驗證,也拒絕后續(xù)訪問包括例如網(wǎng)絡(luò)身份的請求,并發(fā)出查詢。請求訪問的一方通過提供請求方與服務(wù)器共享的秘密來響應(yīng)該查詢,而無需在網(wǎng)絡(luò)上傳輸真正的驗證令牌(如密碼)。例如,這可能包括服務(wù)器以加密形式返回查詢,該加密方法顯示請求方所知曉的共享秘密。換句話說,請求方通過證明其知曉密碼而不是確定該密碼來給予響應(yīng)。本發(fā)明的實施例可用這種類型的驗證方案來實現(xiàn),使服務(wù)器代表瀏覽器截取并響應(yīng)。本發(fā)明的此方面允許例如非NTLM瀏覽器的用戶向NTLM服務(wù)器進行透明的自我驗證,而無需修改瀏覽器。
圖4示出了具有根據(jù)本發(fā)明另一實施例的客戶機44的網(wǎng)絡(luò)40,其允許使用專屬驗證方案來向web服務(wù)器42傳送用戶身份和其它憑證,如用戶角色。web服務(wù)器42包括與服務(wù)器48通信的過濾器52或其它合適的插件。該過濾器的一個例子是Microsoft所使用的ISAPI“過濾器”插件。當(dāng)過濾器52檢測到被web服務(wù)器42拒絕的訪問時,過濾器52在web服務(wù)器42發(fā)送回客戶機44的一組頭中添加一個頭,以指明專屬驗證方案名。如上所述,服務(wù)器48代表web瀏覽器46截取這些頭,并確定是否需要專屬驗證方案來訪問所期望的資源。如果給出了該專屬驗證頭,則服務(wù)器48響應(yīng)該頭而非其它驗證頭。為了響應(yīng)該專屬驗證頭,服務(wù)器48需提取出用戶令牌/憑證(根據(jù)本發(fā)明的一個實施例,至少包括該用戶的角色和身份),重新格式化用于在HTTP協(xié)議中傳輸?shù)牧钆?,并在授?quán)頭中向web服務(wù)器42傳送重新格式化的令牌。過濾器52接受該授權(quán)頭,作為對專屬服務(wù)的驗證,并從一組服務(wù)器已知的身份中為該用戶分配一個本地web服務(wù)器的身份。該本地身份可以是唯一的,也可以是由一個或多個用戶共享的重復(fù)身份。
因此,從以上說明可以看出本發(fā)明的驗證方法和系統(tǒng)具有諸多優(yōu)點。例如,用戶可訪問多個遠程web服務(wù)器而無需為各遠程服務(wù)器訪問提供驗證信息。此外,需注意到由于服務(wù)器代表用戶執(zhí)行驗證,因此用戶可以使用瀏覽器未知的驗證方法類型獲得驗證,以訪問受保護的資源。這樣,本發(fā)明允許使用協(xié)議(例如Microsoft NTLM,或?qū)衮炞C協(xié)議)和不支持該協(xié)議的瀏覽器(例如Netscape Navigator),向web服務(wù)器驗證用戶。無需對該瀏覽器進行結(jié)構(gòu)性修改即可達到該優(yōu)點。其它諸多優(yōu)點對本領(lǐng)域的普通技術(shù)人員來說是很明顯的。
盡管如上所述,本發(fā)明將服務(wù)器操作描述為“截取”來自遠程服務(wù)器的驗證請求,但應(yīng)該理解本發(fā)明所使用的術(shù)語“截取”的定義旨在包括其它方法,如過濾和監(jiān)控遠程服務(wù)器和瀏覽器之間的通信。本發(fā)明所使用的術(shù)語“截取”的定義所受的唯一限制是,如果服務(wù)器可獲得驗證數(shù)據(jù)而無需向瀏覽器提示來要求該信息,則使服務(wù)器能夠自動響應(yīng)來自遠程服務(wù)器的驗證數(shù)據(jù)請求而無需將該請求傳送給瀏覽器。此外,該術(shù)語旨在包括以下功能,即,在服務(wù)器確定驗證數(shù)據(jù)不可獲得之后,接收來自遠程服務(wù)器的驗證數(shù)據(jù)請求并將該驗證數(shù)據(jù)請求傳送給和/或生成到瀏覽器。
盡管本發(fā)明是結(jié)合以上特定實施例說明的,但對本領(lǐng)域的技術(shù)人員來說顯然有許多替代、修改和變化。因此,本發(fā)明的上述優(yōu)選實施例旨在說明而非限定??梢栽诓槐畴x本發(fā)明精神和范圍的情況下進行修改。
權(quán)利要求
1.一種方法,用于向瀏覽器提供對受web服務(wù)器保護的網(wǎng)絡(luò)資源的訪問,該方法包括由瀏覽器請求訪問受web服務(wù)器保護的資源;在與該瀏覽器位于同一設(shè)備的服務(wù)器上,截取從web服務(wù)器發(fā)向該瀏覽器的驗證數(shù)據(jù)請求;確定該設(shè)備是否具有所請求的驗證數(shù)據(jù);如果該設(shè)備具有所請求的驗證數(shù)據(jù),則向web服務(wù)器提供來自服務(wù)器的驗證數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其中,所述服務(wù)器通過對響應(yīng)根據(jù)超文本傳輸協(xié)議進行格式化來提供驗證數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其中,所述驗證數(shù)據(jù)包括所述瀏覽器用戶的角色。
4.如權(quán)利要求3所述的方法,其中,所述驗證數(shù)據(jù)進一步包括用戶身份信息。
5.如權(quán)利要求1所述的方法,其中,所述驗證數(shù)據(jù)請求包括超文本傳輸協(xié)議驗證頭。
6.如權(quán)利要求5所述的方法,其中,提供所述驗證數(shù)據(jù)的步驟包括提供超文本傳輸協(xié)議授權(quán)頭。
7.如權(quán)利要求1所述的方法,進一步包括檢測由所述服務(wù)器發(fā)出的訪問拒絕,以響應(yīng)訪問請求;向所述服務(wù)器提供補充驗證頭;檢測該補充驗證頭;通過提取出所述驗證數(shù)據(jù),并將該驗證數(shù)據(jù)置于驗證頭中發(fā)送給所述服務(wù)器來響應(yīng)該補充驗證頭。
8.如權(quán)利要求1所述的方法,進一步包括由所述瀏覽器請求訪問受第二web服務(wù)器保護的資源;在所述服務(wù)器上,截取從該第二web服務(wù)器發(fā)向所述瀏覽器的驗證數(shù)據(jù)請求;確定所述設(shè)備是否具有用于該第二web服務(wù)器的驗證數(shù)據(jù);如果所述設(shè)備具有所請求的驗證數(shù)據(jù),則向該第二web服務(wù)器提供來自所述服務(wù)器的驗證數(shù)據(jù)。
9.如權(quán)利要求1所述的方法,進一步包括如果所述設(shè)備不包括驗證數(shù)據(jù),則向所述瀏覽器請求該驗證數(shù)據(jù);通過web瀏覽器界面接收來自用戶的驗證數(shù)據(jù);向所述服務(wù)器提供來自所述web瀏覽器的驗證數(shù)據(jù);向所述web服務(wù)器提供來自所述服務(wù)器的驗證數(shù)據(jù)。
10.如權(quán)利要求1所述的方法,其中,所述驗證數(shù)據(jù)請求包括對訪問請求的查詢,其中,提供驗證數(shù)據(jù)以響應(yīng)該查詢包括以加密形式返回該查詢,該加密形式指明了共享的秘密。
11.如權(quán)利要求10所述的方法,其中,所述web瀏覽器是非NTLM瀏覽器,所述web服務(wù)器是NTLM服務(wù)器。
12.一種系統(tǒng),用于通過web服務(wù)器提供對資源的訪問,該系統(tǒng)包括web瀏覽器,適用于通過web服務(wù)器接收用戶訪問資源的請求;服務(wù)器,適用于將該用戶請求傳送給web服務(wù)器,以自動將來自web服務(wù)器的驗證數(shù)據(jù)請求截取給web瀏覽器,檢索該驗證,并向web服務(wù)器提供檢索的驗證數(shù)據(jù)。
13.如權(quán)利要求12所述的系統(tǒng),進一步包括存儲驗證數(shù)據(jù)的存儲器。
14.如權(quán)利要求12所述的系統(tǒng),其中,所述服務(wù)器進一步適用于提供驗證數(shù)據(jù),以響應(yīng)來自web服務(wù)器過濾器的補充驗證頭。
15.如權(quán)利要求12所述的系統(tǒng),其中,如果所述服務(wù)器不能檢索驗證數(shù)據(jù),則所述服務(wù)器進一步適用于向web瀏覽器請求驗證數(shù)據(jù),其中,所述web瀏覽器適用于向用戶請求驗證數(shù)據(jù),并向所述服務(wù)器提供用戶輸入的驗證數(shù)據(jù)。
16.如權(quán)利要求12所述的系統(tǒng),其中,所述服務(wù)器進一步適用于通過對響應(yīng)根據(jù)超文本傳輸協(xié)議進行格式化來提供驗證數(shù)據(jù)。
17.如權(quán)利要求12所述的系統(tǒng),其中,所述驗證數(shù)據(jù)包括所述瀏覽器用戶的角色。
18.如權(quán)利要求12所述的系統(tǒng),其中,所述驗證數(shù)據(jù)包括用戶身份信息。
19.如權(quán)利要求12所述的系統(tǒng),其中,所述驗證數(shù)據(jù)請求包括超文本傳輸協(xié)議驗證頭。
20.如權(quán)利要求19所述的系統(tǒng),其中,所述服務(wù)器進一步適用于在超文本傳輸協(xié)議授權(quán)頭中提供驗證數(shù)據(jù)。
21.如權(quán)利要求12所述的系統(tǒng),其中,所述服務(wù)器進一步適用于檢測補充驗證頭,以及適用于通過提取出驗證數(shù)據(jù),并將該驗證數(shù)據(jù)置于驗證頭中傳送給所述服務(wù)器來響應(yīng)該補充驗證頭。
22.如權(quán)利要求12所述的系統(tǒng),其中,所述驗證數(shù)據(jù)請求包括對訪問請求的查詢,其中,所述服務(wù)器適用于通過加密形式返回該查詢來提供驗證數(shù)據(jù),以響應(yīng)該查詢,該加密形式指明了共享的秘密。
23.如權(quán)利要求12所述的系統(tǒng),其中,所述web瀏覽器是非NTLM瀏覽器,所述web服務(wù)器是NTLM服務(wù)器。
24.一種系統(tǒng),用于向瀏覽器提供對受web服務(wù)器保護的網(wǎng)絡(luò)資源的訪問,該系統(tǒng)包括用于由瀏覽器請求訪問受web服務(wù)器保護的資源的裝置;用于在與該瀏覽器位于同一設(shè)備的服務(wù)器上,截取從web服務(wù)器發(fā)向該瀏覽器的驗證數(shù)據(jù)請求的裝置;用于確定該設(shè)備是否具有所請求的驗證數(shù)據(jù)的裝置;用于如果該設(shè)備具有所請求的驗證數(shù)據(jù),則向web服務(wù)器提供來自服務(wù)器的驗證數(shù)據(jù)的裝置。
25.如權(quán)利要求24所述的系統(tǒng),其中,所述服務(wù)器通過對響應(yīng)根據(jù)超文本傳輸協(xié)議進行格式化來提供驗證數(shù)據(jù)。
26.如權(quán)利要求24所述的系統(tǒng),其中,所述驗證數(shù)據(jù)包括所述瀏覽器用戶的角色。
27.如權(quán)利要求26所述的系統(tǒng),其中,所述驗證數(shù)據(jù)進一步包括用戶身份信息。
28.如權(quán)利要求24所述的系統(tǒng),其中,所述驗證數(shù)據(jù)請求包括超文本傳輸協(xié)議驗證頭。
29.如權(quán)利要求28所述的系統(tǒng),其中,用于提供驗證數(shù)據(jù)的裝置包括用于提供超文本傳輸協(xié)議授權(quán)頭的裝置。
30.如權(quán)利要求24所述的系統(tǒng),進一步包括用于檢測由所述服務(wù)器發(fā)出的訪問拒絕以響應(yīng)訪問請求的裝置;用于向所述服務(wù)器提供補充驗證頭的裝置;用于檢測該補充驗證頭的裝置;用于通過提取出所述驗證數(shù)據(jù),并將該驗證數(shù)據(jù)置于驗證頭中發(fā)送給所述服務(wù)器來響應(yīng)該補充驗證頭的裝置。
31.如權(quán)利要求24所述的系統(tǒng),進一步包括用于由所述瀏覽器請求訪問受第二web服務(wù)器保護的資源的裝置;用于在所述服務(wù)器上,截取從該第二web服務(wù)器發(fā)向所述瀏覽器的驗證數(shù)據(jù)請求的裝置;用于確定所述設(shè)備是否具有用于該第二web服務(wù)器的驗證數(shù)據(jù)的裝置;用于如果所述設(shè)備具有所請求的驗證數(shù)據(jù),則向該第二web服務(wù)器提供來自所述服務(wù)器的驗證數(shù)據(jù)的裝置。
32.如權(quán)利要求24所述的系統(tǒng),進一步包括用于如果所述設(shè)備不包括驗證數(shù)據(jù),則向所述瀏覽器請求該驗證數(shù)據(jù)的裝置;用于通過web瀏覽器界面接收來自用戶的驗證數(shù)據(jù)的裝置;用于向所述服務(wù)器提供來自所述web瀏覽器的驗證數(shù)據(jù)的裝置;用于向所述web服務(wù)器提供來自所述服務(wù)器的驗證數(shù)據(jù)的裝置。
33.如權(quán)利要求24所述的系統(tǒng),所述驗證數(shù)據(jù)請求包括對訪問請求的查詢,其中,用于提供驗證數(shù)據(jù)以響應(yīng)該查詢的裝置包括用于以加密形式返回該查詢的裝置,該加密形式指明了共享的秘密。
34.如權(quán)利要求33所述的系統(tǒng),其中,所述web瀏覽器是非NTLM瀏覽器,所述web服務(wù)器是NTLM服務(wù)器。
35.一種信息存儲介質(zhì),包含由瀏覽器請求訪問受web服務(wù)器保護的資源的信息;在與該瀏覽器位于同一設(shè)備的服務(wù)器上,截取從web服務(wù)器發(fā)向該瀏覽器的驗證數(shù)據(jù)請求的信息;確定該設(shè)備是否具有所請求的驗證數(shù)據(jù)的信息;如果該設(shè)備具有所請求的驗證數(shù)據(jù),則向web服務(wù)器提供來自服務(wù)器的驗證數(shù)據(jù)的信息。
36.如權(quán)利要求35所述的信息存儲介質(zhì),所述提供驗證數(shù)據(jù)的信息進一步包含根據(jù)超文本傳輸協(xié)議對響應(yīng)進行格式化的信息。
37.如權(quán)利要求35所述的信息存儲介質(zhì),其中,所述驗證數(shù)據(jù)包括所述瀏覽器用戶的角色。
38.如權(quán)利要求37所述的信息存儲介質(zhì),其中,所述驗證數(shù)據(jù)進一步包括用戶身份信息。
39.如權(quán)利要求35所述的信息存儲介質(zhì),其中,所述驗證數(shù)據(jù)請求包括超文本傳輸協(xié)議驗證頭。
40.如權(quán)利要求39所述的信息存儲介質(zhì),其中,所述提供驗證數(shù)據(jù)的信息進一步包含提供超文本傳輸協(xié)議授權(quán)頭的信息。
41.如權(quán)利要求35所述的信息存儲介質(zhì),進一步包含檢測由所述服務(wù)器發(fā)出的訪問拒絕,以響應(yīng)訪問請求的信息;向所述服務(wù)器提供補充驗證頭的信息;檢測該補充驗證頭的信息;通過提取出所述驗證數(shù)據(jù),并將該驗證數(shù)據(jù)置于驗證頭中發(fā)送給所述服務(wù)器來響應(yīng)該補充驗證頭的信息。
42.如權(quán)利要求35所述的信息存儲介質(zhì),進一步包含由所述瀏覽器請求訪問受第二web服務(wù)器保護的資源的信息;在所述服務(wù)器上,截取從該第二web服務(wù)器發(fā)向所述瀏覽器的驗證數(shù)據(jù)請求的信息;確定所述設(shè)備是否具有用于該第二web服務(wù)器的驗證數(shù)據(jù)的信息;如果所述設(shè)備具有所請求的驗證數(shù)據(jù),則向該第二web服務(wù)器提供來自所述服務(wù)器的驗證數(shù)據(jù)的信息。
43.如權(quán)利要求35所述的信息存儲介質(zhì),進一步包含如果所述設(shè)備不包括驗證數(shù)據(jù),則向所述瀏覽器請求該驗證數(shù)據(jù)的信息;通過web瀏覽器界面接收來自用戶的驗證數(shù)據(jù)的信息;向所述服務(wù)器提供來自所述web瀏覽器的驗證數(shù)據(jù)的信息;向所述web服務(wù)器提供來自所述服務(wù)器的驗證數(shù)據(jù)的信息。
44.如權(quán)利要求35所述的信息存儲介質(zhì),所述驗證數(shù)據(jù)請求包括對訪問請求的查詢,其中,提供驗證數(shù)據(jù)以響應(yīng)該查詢的信息包括以加密形式返回該查詢的信息,該加密形式指明了共享的秘密。
45.如權(quán)利要求44所述的信息存儲介質(zhì),其中,所述web瀏覽器是非NTLM瀏覽器,所述web服務(wù)器是NTLM服務(wù)器。
全文摘要
一種用于自動和透明地提供對資源訪問的方法和系統(tǒng),該資源與需要驗證的web服務(wù)器相關(guān)聯(lián)。為web瀏覽器提供了服務(wù)器,截取并響應(yīng)來自web服務(wù)器的驗證請求。該方法和系統(tǒng)允許用戶使用單一初始驗證手續(xù)訪問多個網(wǎng)絡(luò)資源。
文檔編號H04L29/06GK1701293SQ01815843
公開日2005年11月23日 申請日期2001年8月3日 優(yōu)先權(quán)日2000年8月4日
發(fā)明者巴里·A·伯恩 申請人:電腦聯(lián)合想象公司