欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對web服務(wù)資源的訪問的授權(quán)的制作方法

文檔序號:6476906閱讀:224來源:國知局
專利名稱:對web服務(wù)資源的訪問的授權(quán)的制作方法
對web服務(wù)資源的訪問的授權(quán)
扭旦 冃足
web服務(wù)近年來作為越來越多地連接人、信息和過程的方式發(fā)展。web服 務(wù)的好處之一是web服務(wù)跨多個平臺操作的能力并且易于對web服務(wù)作出修 改。web服務(wù)如此成功的原因之一是將XML用作用于表示和傳送獨立于編程 語言、軟件平臺和硬件的結(jié)構(gòu)化數(shù)據(jù)的標準且通用的語言。
存在許多其中期望保護web服務(wù)資源以使得這些資源只可由適當(dāng)?shù)娜嘶?系統(tǒng)來訪問或使用的情形。用于保護web服務(wù)資源的常規(guī)方法聚焦于認證,并 且尤其聚焦于定義信任關(guān)系。常規(guī)系統(tǒng)通常允許從可信位置訪問web服務(wù)的任
何人或設(shè)備訪問該web服務(wù)及相關(guān)聯(lián)的資源。這些常規(guī)系統(tǒng)不提供供第三方提 供對訪問或使用web服務(wù)的特定請求的授權(quán)的方式。相反,web服務(wù)通常被配 置成信任從可信位置進行通信的任何人。這些和其他問題由根據(jù)本發(fā)明的各實 施例來解決。
概述
本發(fā)明的各實施例一般涉及關(guān)于web服務(wù)的授權(quán)。在一個非限制性示例 中,web服務(wù)包括受保護資源。請求者向web服務(wù)發(fā)送對受保護資源的請求。 web服務(wù)操作以禁止對受保護資源的訪問直到該web服務(wù)接收到來自授權(quán)者的 授權(quán)。
如此處所討論的,某些實施例的一方面涉及用于控制對受保護web服務(wù) 資源的訪問的計算系統(tǒng)。該計算系統(tǒng)包括通信設(shè)備、處理器和存儲器。該通信 設(shè)備跨通信網(wǎng)絡(luò)進行通信。該處理器通信地連接到該通信設(shè)備。該存儲器存儲 程序指令,該程序指令在由該處理器執(zhí)行時使得該計算系統(tǒng)執(zhí)行以下操作,包 括接收從通信網(wǎng)絡(luò)訪問受保護web服務(wù)資源的請求;確定該訪問受保護web 服務(wù)資源的請求是否已被授權(quán);如果該請求未被授權(quán),則拒絕對該受保護web 服務(wù)資源的訪問;以及如果該請求已被授權(quán),則準許對該受保護 服務(wù)資源 的訪問。某些實施例的另一方面涉及一種授權(quán)對web服務(wù)資源的訪問的方法。該 方法包括從請求者接收標識web服務(wù)資源的請求;確定訪問該web服務(wù)資源 需要授權(quán);從授權(quán)者接收授權(quán)請求者訪問該web服務(wù)資源的授權(quán);以及將該授 權(quán)傳遞給該請求者。
某些實施例的又一方面涉及一種包含計算機可執(zhí)行指令的計算機可讀介 質(zhì),該指令在由計算機執(zhí)行時執(zhí)行授權(quán)對受保護資源的訪問的方法。該方法包 括接收標識受保護web服務(wù)資源的請求;接收授權(quán)對該受保護web服務(wù)資源 的使用的授權(quán);確定該請求是否已被授權(quán);以及將該授權(quán)傳遞給該請求者。
提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的 一些概念。本概述并不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,也 決不旨在用于限制所要求保護的主題的范圍。
附圖簡述
圖l是示例授權(quán)系統(tǒng)的框圖。
圖2是用于實現(xiàn)

圖1所示的授權(quán)系統(tǒng)的各方面的示例性計算系統(tǒng)。 圖3是示出授權(quán)對web服務(wù)資源的訪問的示例方法的流程圖。 圖4是示出授權(quán)對web服務(wù)資源的訪問的另一示例方法的流程圖。 圖5是進一步示出圖4所示的授權(quán)對web服務(wù)資源的訪問的方法的示例 的流程圖。
詳細描述
本發(fā)明現(xiàn)將參考其中示出了各具體實施例的附圖來更完整地描述各示例 性實施例。然而,其它方面能以許多不同的形式來實現(xiàn),并且在本發(fā)明中包括 具體實施例不應(yīng)被解釋為將這些方面限于在此所述的各實施例。相反,包括附 圖中描繪的各實施例是為了提供全面和完整且將預(yù)期的范圍完全地傳達給本 領(lǐng)域技術(shù)人員的公開。在參考附圖時,使用相同的附圖標記來指示所有附圖所 示的相同的結(jié)構(gòu)和元素。
本發(fā)明的各實施例一般涉及關(guān)于web服務(wù)的授權(quán)。在一個非限制性示例 中,web服務(wù)包括受保護資源。請求者向web服務(wù)發(fā)送對受保護資源的請求。web服務(wù)操作以禁止對受保護資源的訪j3直到該web服務(wù)接收到來自授權(quán)者的授權(quán)。
圖1是示例授權(quán)系統(tǒng)100的框圖。授權(quán)系統(tǒng)100包括請求者102、 web服 務(wù)104、受保護資源106和授權(quán)者108。請求者102、 web服務(wù)104和授權(quán)者 108全都通信地連接到網(wǎng)絡(luò)110。
在一個實施例中,請求者102是跨網(wǎng)絡(luò)110與web服務(wù)104進行數(shù)據(jù)通 信的計算系統(tǒng),諸如圖2所示的計算系統(tǒng)200。在某些實施例中,請求者102 從用戶接收輸入,該用戶通過用戶接口來向計算系統(tǒng)提供輸入并為該計算系統(tǒng) 作出決定。該用戶通過諸如顯示器、鼠標、鍵盤等一個或多個用戶接口來與計 算系統(tǒng)交互。在某些實施例中,請求者102操作諸如INTERNET EXPLORER 因特網(wǎng)瀏覽器等瀏覽器軟件應(yīng)用程序,該應(yīng)用程序使用諸如超文本傳輸協(xié)議 (HTTP)等網(wǎng)絡(luò)協(xié)議來跨網(wǎng)絡(luò)110與web服務(wù)104進行通信。在其他實施例 中,除了因特網(wǎng)瀏覽器之外的一個或多個軟件應(yīng)用程序在請求者102上操作。 在所示實施例中,請求者102尋求訪問web服務(wù)104的受保護資源106。
在一個實施例中,web服務(wù)104是諸如web服務(wù)器等操作web服務(wù)的計 算系統(tǒng)。 一般而言,web服務(wù)104提供涉及受保護資源106的有用功能。該 web服務(wù)可使用網(wǎng)絡(luò)協(xié)議通過網(wǎng)絡(luò)110來訪問。web服務(wù)可用于提供無數(shù)種有 用功能。 一個示例是日歷服務(wù)??蛻魴C向服務(wù)器提供諸如向日歷添加約會等請 求。該web服務(wù)存儲對應(yīng)于該客戶機的約會。稍后,該客戶機可請求查看由該 web服務(wù)提供的所存儲的約會??赡艿膚eb服務(wù)的另一示例是維護電子郵件分 發(fā)列表的服務(wù)??蛻魴C標識將存儲在郵件列表中的用戶。服務(wù)器存儲對應(yīng)于該 客戶機的列表。稍后,該客戶機可請求該服務(wù)器向該分發(fā)列表中的所有成員發(fā) 送消息。該web服務(wù)執(zhí)行所請求的功能??赡艿膚eb服務(wù)的其他示例包括 向諸如系統(tǒng)管理員組等安全組添加用戶名;修改給定動作的授權(quán)要求;如在人 力資源職員或緊急工作人員請求時提供對用戶的個人信息的訪問;以及諸如通 過此處所描述的過程來將對記錄的訪問限于特定用戶組和/或被特別授權(quán)訪問 這些記錄的用戶。
web服務(wù)104的一個示例是圖2所示的計算系統(tǒng)200。 web服務(wù)104跨網(wǎng) 絡(luò)110與請求者102和授權(quán)者108進行數(shù)據(jù)通信。web服務(wù)的一個示例是被配置成根據(jù)有時也被稱為面向服務(wù)的體系結(jié)構(gòu)協(xié)議的簡單對象訪問協(xié)議
("SOAP")來跨網(wǎng)絡(luò)110進行通信的計算系統(tǒng)。SOAP是當(dāng)前由萬維網(wǎng) 聯(lián)盟,即萬維網(wǎng)的國際標準組織的XML協(xié)議工作組來維護的協(xié)議。SOAP將 可擴展標記語言("XML")用作標準消息格式。在一個實施例中,SOAP消 息使用諸如HTTP 1.1等超文本傳輸協(xié)議("HTTP")來交換。
HTTP是定義以請求開始并以響應(yīng)結(jié)束的通信模式的協(xié)議。請求消息是從 客戶機發(fā)送到服務(wù)器(諸如從請求者102發(fā)送到web服務(wù)104)的消息,該消 息一般包括請求、首部、空行和消息正文。該請求包括對該消息所涉及的資源 的標識。HTTP定義指示將對所標識的資源執(zhí)行的所需動作的多個請求方法。 HTTP請求方法的一個示例是Get (獲取)方法。該Get方法請求所標識的資 源的表示或副本。HTTP請求方法的另一個示例是Put (放置)方法。該Put 方法上傳所標識的資源的表示。包含Get命令的請求消息被稱為Get消息或 Get請求。包含Put命令的請求消息被稱為Put消息或Put請求。在web服務(wù) 器接收到該請求之后,該web服務(wù)器向客戶機提供響應(yīng)。該響應(yīng)包括狀態(tài)行、 首部、空行和消息正文。該狀態(tài)行包括狀態(tài)碼和文本原因短語(諸如"Not Found (未找到)"等)。響應(yīng)內(nèi)容取決于請求內(nèi)容。例如,對Get消息的響應(yīng)如所 請求地將包括所標識的資源的表示。
SOAP還定義被稱為SOAP故障的消息格式。SOAP故障一般用于攜帶 SOAP消息格式的錯誤信息。SOAP故障還可由web服務(wù)器用來向客戶機傳遞 遵循請求的響應(yīng)。在一個示例中,使用SOAP 1.2以使得該SOAP故障包含上 下文首部和正文。該上下文首部包括標識原始請求的標識符以及已被發(fā)現(xiàn)與該 請求相關(guān)聯(lián)的任何授權(quán)過程。正文包括此處所描述的詳細元素的內(nèi)容。詳細元 素的內(nèi)容表示所請求的資源在web服務(wù)能夠繼續(xù)之前需要授權(quán)。
在另一實施例中,與web服務(wù)104的通信涉及遵照web服務(wù)資源傳輸 (WS-RT)協(xié)議的SOAP通信。WS-RT定義用于訪問基于web服務(wù)的資源的 表示的通信協(xié)議。WS-RT包括Create (創(chuàng)建)、Get和Put消息。Create消息 用于生成對象的表示,如XML表示。所需表示被包括在Create消息的正文中。 Get消息可用于取得資源表示的片段的表示。表示的片段是表示的一部分,以 使其不必取得整個表示。Get消息在該消息的首部中包括所需對象的唯一標識
8符。由此,該Get消息用于請求已經(jīng)知道其唯一標識符的單個對象。Put消息 可用于上傳對資源的表示的片段的表示。WS-RT還定義向客戶機傳遞響應(yīng)的 故障操作。如此處所使用的,Get、 Put和Fault (故障)消息指的是包含各種 協(xié)議(包括HTTP、 SOAP以及各種web服務(wù)協(xié)議)的一般類型的消息,除非 特別標識特定協(xié)議。
另一實施例利用也由萬維網(wǎng)聯(lián)盟維護的WS-枚舉協(xié)議。WS-枚舉定義 Enumerate (枚舉)消息。該Enumerate消息連同查詢的表達式一起發(fā)送。在一 個實施例中,該査詢用XPath語言來編寫。作為一個示例,該查詢請求匹配特 定準則集的所有資源的表示。web服務(wù)用枚舉上下文的標識符來響應(yīng)該 Enumerate消息??蛻魴C然后發(fā)送包括枚舉上下文標識符的Pull (拉)消息以 指定應(yīng)取得匹配査詢的對象中的多少。該web服務(wù)然后用指定數(shù)量的匹配該查 詢的資源來響應(yīng)。然后可向服務(wù)器發(fā)送后續(xù)Pull消息以取得匹配該查詢的另一 批資源。該過程此處有時一般被稱為發(fā)送Enumerate消息并接收響應(yīng)。 Enumerate消息的好處之一是該Enumerate消息使得客戶機能夠査詢?nèi)魏螖?shù)量 的匹配特定準則的資源。
另一個實施例利用web服務(wù)傳輸(WS-Tx)協(xié)議。除了其他有用功能之外, WS-Tx定義用于刪除受保護資源的刪除消息。
在所示實施例中,web服務(wù)104包括受保護資源106。受保護資源包括例 如,由web服務(wù)104執(zhí)行的功能以及只可由授權(quán)客戶機來訪問、使用或修改的 由web服務(wù)104存儲的數(shù)據(jù)。例如,如果web服務(wù)104提供維護組分發(fā)列表 的服務(wù),則該組分發(fā)列表是只可由授權(quán)客戶機訪問、使用或修改的受保護資源。 作為另一示例,受保護資源106是目錄中的條目。在另一實施例中,受保護資 源106是數(shù)據(jù)庫中的記錄。在另一實施例中,受保護資源106是存儲在存儲器 存儲設(shè)備上的文件或文件的一部分。其他實施例使用其他形式的受保護資源 106。
術(shù)語"訪問"在此處有時用來指對受保護資源106的任何改變、修改、添 加、刪除或使用。在某些實施例中,對受保護資源106的使用包括獲取存儲在 該受保護資源106中的數(shù)據(jù)。在某些實施例中,非授權(quán)客戶機可獲取對受保護 資源106的訪問權(quán)。例如,網(wǎng)絡(luò)管理員在某些實施例中可具有訪問權(quán),即使并
9非由授權(quán)者特別授權(quán)。
在可能的實施例中,授權(quán)者108是與web服務(wù)104進行數(shù)據(jù)通信的計算 系統(tǒng)。在某些實施例中,授權(quán)者108操作能夠?qū)⒖缇W(wǎng)絡(luò)110向web服務(wù)104傳 遞消息的軟件。例如,授權(quán)者108操作MICROSOFT OUTLOOK⑧消息收發(fā) 和協(xié)作客戶端。該消息收發(fā)和協(xié)作客戶端能夠跨網(wǎng)絡(luò)110向web服務(wù)104發(fā)送 電子消息。在所示實施例中,web服務(wù)104依賴授權(quán)者108來確定用戶是否應(yīng) 被授權(quán)使用受保護資源106。在某些實施例中,授權(quán)者108和web服務(wù)104在 同一計算系統(tǒng)上操作。
網(wǎng)絡(luò)110是請求者102、web服務(wù)104和授權(quán)者108之間的數(shù)據(jù)通信路徑。 在一個實施例中,網(wǎng)絡(luò)110是因特網(wǎng)。在其他實施例中,網(wǎng)絡(luò)110是局域網(wǎng)、 內(nèi)聯(lián)網(wǎng)、無線網(wǎng)絡(luò)或者能夠?qū)?shù)據(jù)從一個處理設(shè)備傳遞到另一個處理設(shè)備的任 何其他通信路徑。
在某些實施例中,跨網(wǎng)絡(luò)110的數(shù)據(jù)通信根據(jù)網(wǎng)絡(luò)通信協(xié)議來執(zhí)行。在一 個可能的示例中,使用HTTP來在請求者102、 web服務(wù)104和授權(quán)者108之 間傳遞數(shù)據(jù)。在另一實施例中,遵循SOAP。在另一實施例中,遵循WS-RT 協(xié)議。其他實施例使用其他數(shù)據(jù)通信協(xié)議。
在某些實施例中,認證用戶以確保用戶是他們所聲稱的人。認證的一個示 例在由Craig V. McMurtry、 Alexander T. Weinert、 Vadim Meleshuk禾卩Mark E. Gabarra在2008年2月 1日提交的題為"REQUEST-SPECIFIC AUTHENTICATION FOR ACCESSING WEB SERVICE RESOURCES (對訪問 web服務(wù)資源的請求專用認證)"的美國專利申請第12/024,901號中描述,該 申請的全部公開內(nèi)容通過引用結(jié)合于此。
圖2是用于實現(xiàn)本發(fā)明的各方面的示例性計算系統(tǒng)200。在一個實施例中, 計算系統(tǒng)200是web服務(wù)104。在另一個實施例中,計算系統(tǒng)200是請求者102。 在另一個實施例中,計算系統(tǒng)200是授權(quán)者108。
在其最基本的配置中,計算系統(tǒng)200通常包括至少一個處理單元202和存 儲器204。取決于計算系統(tǒng)系統(tǒng)的確切配置和類型,存儲器204可以是易失性 的(諸如RAM)、非易失性的(諸如ROM、閃存等)或是兩者的某種組合。 該最基本配置在圖2中由虛線206來例示。另外,計算系統(tǒng)200還可具有附加特征/功能。例如,計算機系統(tǒng)200還可包含附加存儲(可移動和/或不可移動),
包括但不限于磁盤、光盤或磁帶。這些其他存儲在圖2中由可移動存儲208和 不可移動存儲210示出。
計算系統(tǒng)200通常具有至少某種形式的計算機可讀介質(zhì)。計算機可讀介質(zhì) 可以是可由計算系統(tǒng)200訪問的任何可用介質(zhì)。作為示例而非限制,計算機可 讀介質(zhì)可包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于儲存諸 如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù) 實現(xiàn)的易失性和非易失性,可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括,但 不限于,RAM、 ROM、 EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字 多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲 設(shè)備、或能用于存儲所需信息且可以由計算系統(tǒng)200訪問的任何其它介質(zhì)。通 信介質(zhì)通常以諸如載波或其它傳輸機制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀 指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語"已 調(diào)制數(shù)據(jù)信號"指的是其一個或多個特征以在信號中編碼信息的方式被設(shè)定或 更改的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直 接線連接,以及無線介質(zhì),諸如聲學(xué)、RF、紅外線和其它無線介質(zhì)。以上的任 何組合也應(yīng)包括在計算機可讀介質(zhì)的范圍內(nèi)。任何這樣的計算機存儲介質(zhì)都可 以是計算系統(tǒng)200的一部分。
計算系統(tǒng)200還可包含允許該計算系統(tǒng)與其它設(shè)備進行通信的通信連接 212。通信連接212是通信介質(zhì)的一個示例。通信介質(zhì)通常以諸如載波或其它 傳輸機制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其 它數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"指的是其一個或 多個特征以在信號中編碼信息的方式被設(shè)定或更改的信號。作為示例而非限 制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸 如聲學(xué)、RF、紅外線和其它無線介質(zhì)。如此處所使用的術(shù)語計算機可讀介質(zhì)包 括存儲介質(zhì)和通信介質(zhì)兩者。
計算系統(tǒng)200還可具有諸如鍵盤、鼠標、筆、語音輸入設(shè)備、觸摸輸入設(shè) 備等輸入設(shè)備214。還可包括諸如顯示器、揚聲器、打印機等輸出設(shè)備216。 所有這些裝置在本領(lǐng)域中都是眾所周知的,因此不必在此詳細討論。在某些實施例中,存儲器204包括操作系統(tǒng)220、應(yīng)用程序222、其他程 序模塊224和程序數(shù)據(jù)226中的一個或多個。應(yīng)用程序222的示例包括web服 務(wù)軟件應(yīng)用程序、因特網(wǎng)瀏覽器軟件應(yīng)用程序、消息收發(fā)和協(xié)作客戶機軟件應(yīng) 用程序或各種其他軟件應(yīng)用程序。在可能的實施例中,程序模塊224和程序數(shù) 據(jù)226中的任一個包括受保護數(shù)據(jù)。
圖3是示出授權(quán)對web服務(wù)資源的訪問的示例方法300的流程圖。方法 300包括操作302和操作304。方法300開始于操作302,在其間作出對資源的 請求。在一個實施例中,操作302涉及請求者利用由受保護資源提供的功能的 嘗試。因為該資源是受保護的,所以該請求者并非被自動允許利用該受保護資 源。相反,該請求者必需首先被授權(quán)。因此,接著執(zhí)行在其間授權(quán)該請求的操 作302。在一個實施例中,操作302涉及從授權(quán)者接收授權(quán)。 一旦接收到該授 權(quán),該請求者就被允許利用該受保護資源。在其他可能的實施例中,操作302 涉及訪問受保護資源的請求。
圖4是示出授權(quán)對web服務(wù)資源的使用的示例方法400的流程圖。方法 400包括操作402、 404、 406和408。方法400開始于操作402,在其間作出資 源請求。在一個可能的實施例中,操—作-,m^將請^iiMl者102發(fā)送到 web服務(wù)104。 web服務(wù)104接收該資源請求并確定該請求涉及受保護資源。 web服務(wù)104然后評估請求者102是否已被授權(quán)訪問該受保護資源。在所示示 例中,請求者102尚未被授權(quán),并因此禁止對該資源的訪問直到發(fā)生授權(quán)。
在一可能的實施例中,然后執(zhí)行操作404以檢查該資源請求的狀態(tài)。在某 些實施例中,不執(zhí)行操作404。在操作404的一個示例中,請求者102周期性 地輪詢web服務(wù)104以確定請求的狀態(tài)。web服務(wù)104用該狀態(tài)來響應(yīng)請求者 102。在所示示例中,web服務(wù)104通知請求者102該請求尚未被授權(quán)。在某 些實施例中,輪詢在請求者102的用戶選擇因特網(wǎng)瀏覽器軟件應(yīng)用程序的刷新 選項時執(zhí)行。在另一實施例中,輪詢由在請求者102上運行的軟件應(yīng)用程序周 期性地執(zhí)行。
在操作402中已經(jīng)請求了資源后執(zhí)行操作406以授權(quán)該請求。在一個實施 例中,操作406涉及將消息從授權(quán)者108發(fā)送到web服務(wù)104以授權(quán)該請求。 在已授權(quán)該請求后,執(zhí)行操作408以傳達該請求已被授權(quán),諸如通知請求者現(xiàn)
12在能夠利用受保護資源。在另一實施例中,作為對傳達請求已被授權(quán)的替換(或 補充),操作408繼續(xù)如所請求地提供對受保護資源106的訪問。
圖5是示出授權(quán)對web服務(wù)資源的使用的示例方法500的流程圖。在該 示例中,方法500涉及請求者102、授權(quán)者108和web服務(wù)104的交互。另外, 方法500包括參考圖4示出并描述的操作402、 404、 406和408的更具體的示 例。在圖5中,發(fā)自系統(tǒng)的通信由源自從相應(yīng)系統(tǒng)向下延伸的虛線的箭頭來表 示。另外,系統(tǒng)所接收到的通信由終止于從相應(yīng)系統(tǒng)向下延伸的虛線的箭頭來 表示。
在所示情形中,請求者102期望獲取對在web服務(wù)104上操作并由其保 護的受保護資源106的訪問權(quán)。然后,在授予訪問權(quán)之前,web服務(wù)104要求 從授權(quán)者108接收到授權(quán)。
在該實施例中,方法500包括操作402、 404、 406和408。方法500開始 于操作402,在其間請求者102向web服務(wù)104作出利用受保護資源106的請 求。操作404可任選地在操作402之后執(zhí)行,在操作404期間請求者102檢査 該請求的狀態(tài)。操作406在操作402之后執(zhí)行。操作406涉及將授權(quán)從授權(quán)者 108發(fā)送到web服務(wù)104以授權(quán)該請求。 一旦已授權(quán)該請求,就執(zhí)行操作408, 在其間將通信從web服務(wù)104發(fā)送到請求者102以通知請求者102該請求已被 授權(quán)。
為了完整地描述一個示例方法500,操作402、 404、 406和408各自都被 示為包含各種操作。這些操作僅僅作為授權(quán)對web服務(wù)資源的使用的方法的一 個示例來示出。在該實施例中,方法402包括操作520、 522和524。首先執(zhí)行 操作520,在其間將請求使用或訪問受保護資源106的請求從請求者102發(fā)送 到web服務(wù)104。在一個實施例中,操作520涉及將Create消息從請求者102 發(fā)送到web服務(wù)104。 web服務(wù)104接收該請求,并且評估受保護資源106是 否需要授權(quán),并且如果是,則評估請求者102是否先前已被授權(quán)。如果否,則 web服務(wù)104確定在請求者102可訪問或使用受保護資源106之前需要授權(quán)。
一旦web服務(wù)104確定需要授權(quán),就執(zhí)行操作522,在其間web服務(wù)104 生成請求資源502。請求資源502由web服務(wù)104用來跟蹤在操作520中接收 到的請求的狀態(tài)。例如,請求資源502包含標識在操作520中作出的請求是否
13已被授權(quán)的數(shù)據(jù)。當(dāng)首次生成時,請求資源502標識該請求尚未被授權(quán)。如果
稍后接收到授權(quán),則更新請求資源502以標識該請求已被授權(quán)(諸如此處所描 述的操作550中所執(zhí)行的)。在一個實施例中,請求資源502由可擴展標記語 言(XML)來定義。示例請求資源架構(gòu)的一個實施例如下。 示例請求資源架構(gòu)
< xml version='1.0' encoding='utf-8' >
<xsd: schema xmlns:xsd='http:〃www.w3 .org/2001/XMLSchema' xmlns:idm='http:〃schema.microsoft.com/2006/l 1/IdentityManagement'
targetNamespace='http:〃schema.microsoft.com/2006/l l/IdentityManagement,> <xsd:simpleType name='RequestStatusType, > <xsd:restriction base='idm:String'〉
<xsd:enumeration value='Cancelled' /〉 〈xsd:enumeration value='NotFound' /〉 <xsd:enumeration value='Denied' /> <xsd:enumeration value='Authenticating' /> <xsd:enumeration value='Authenticated, /〉 <xsd:enumeration value='Authorizing' /> <xsd:enumeration value-'Authorized' /> <xsd:enumeration value='Processing, /> <xsd:enumeration value='ProcessingEffects' /> <xsd:enumeration value='Completed, /> </xsd:restriction> </xsd:simpleType〉 <xsd: complexType name=' RequestDetailsType ,〉 <xsd: extension base='IdentityObject,> <xsd:sequence> <xsd: element name=' ReferenceProperty , type-'idm:XmlTextType' minOccurs='0' maxOccurs='l,/> <xsd: element name—Action" type-'idm:String' minOccurs='r maxOccurs=T/> <xsd: elementname='Body' type='idm:XmlTextType, minOccurs-' 1' maxOccurs=' 1 ,/> </xsd:sequence> </xsd:extension> </xsd:complexType> <xsd: complexType name=' Approval ActionType , > <xsd:extension base='Identity Object,> <xsd:sequence> <xsd: element
name=' RequiredApproval , type一idm:Reference' minOccurs=' 1' maxOccurs=' 1 ,/〉 </xsd:sequence〉 </xsd: extension> </xsd: complexType〉 <xsd:complexType name=' ProcessType' > <xsd:extension base='IdentityObject,〉 <xsd:sequence> <xsd: element name='Actions' type='idm:ReferenceCollection minOccurs='0' maxOccurs='l,/> </xsd:sequence> </xsd:extension〉 </xsd: complexType> <xsd:complexType name=' RequestType , > <xsd: complexContent> <xsd: extension base='IdentityObject,> <xsd:sequence> <xsd: element name='Status'
type=' idm:RequestStatusType' minOccurs='l' maxOccurs=' 1 ,/> <xsd:elementname='Details' type='idm:Reference' minOccurs='l' maxOccurs=' 1 ,/> <xsd: element name='ApprovalProcesses' type='idm:ReferenceCollection' minOccurs='0' maxOccurs=' 1 '/> <xsd: element name='ApprovalResponses, type='idm:ReferenceCollection' minOccurs='0' maxOccurs=' 1 ,/> <xsd:dcm6nt name='Data, type='idm:XmlTextType' minOccurs='0' maxOccurs=' 1 '/> </xsd:sequence> </xsd:extension〉 </xsd:complexContent> </xsd:complexType> <xsd: element Name='Request' type=,idm:RequestType, /> </xsd:schema>
在以上所提供的示例請求資源架構(gòu)中,定義了多個元素,包括Status (狀 態(tài))、Details (細節(jié))、ApprovalProcesses (批準過程)、ApprovalResponses (批準響應(yīng))、Data (數(shù)據(jù))、ReferenceProperty (引用特性)、Action (動 作)、Body (正文)、R叫uiredApproval (所需批準)、Actions (動作)以 及Request (請求)。在該示例中,Status元素包含請求的狀態(tài),如已授權(quán)或未 授權(quán)。Details元素包括對原始請求的描述。ApprovalProcesses元素存儲與請求 相關(guān)聯(lián)的批準過程的唯一標識符。ApprovalResponses元素包含批準響應(yīng)的唯一 標識符。Data元素包含將由原始請求取得的任何數(shù)據(jù)。ReferenceProperty元素 包含標識原始請求的目標的web服務(wù)定址("WS-定址")引用特性。Action 元素包含原始請求的動作首部。RequiredApproval元素存儲批準對象的唯一標 識符,如授權(quán)者108的標識符。以此方式,每一個受保護資源都可包括被允許 提供對該資源的授權(quán)的不同授權(quán)者。在某些實施例中,這對于使得涉及一種話題或類型的資源的授權(quán)能夠由一個授權(quán)者來處理,并使得涉及另一種話題或類
型的資源的授權(quán)能夠由另一個授權(quán)者來處理是有用的。Actions元素包含用于
授權(quán)請求的批準動作類型的唯一標識符。Request元素是包含例如Status、
Details、 ApprovalProcesses禾B Data元素的副本的包裝器。
請求資源架構(gòu)的另一示例如下。
第二示例請求資源架構(gòu)
< xml version:'1.0' encoding='utf-8' 〉 <xs: schema
elementFormDefault='qualified'
targetNamespace='http:〃schemas.microsoft.com/2006/ll/IdentityManagement' xmlns :xs='http :〃www.w3 .org/2001 /XMLSchema'
xmlns:idm='http:〃schemas.microsoft.com/2006/ll/IdentityManagement'> <xs: include
schemaLocation='http:〃sharepoint/sites/IdMT/Raven/Sharedo/o20Documents/Featur e%20Team%20Documents/Schema/Schema/Raven.Schema.IdentityManagementO bject.Schema.Ml.xsd' /> <xs :complexType
name='RequestType'> <xs:complexContent mixed='false'> <xs: extension
base='idm:ResourceType'> 〈xs:scqucncc〉 <xs: clement
name='Parameter' minOccurs='0' maxOccurs='unbounded, nillable='true' type='idm:String' /〉 <xs: dement
name='Operation' minOccurs=' 1' maxOccurs=T nillable='true,
type='idm:RequestOperationType' /〉 <xs: dement
name=Target'
minOccurs='0'
maxOccurs=' 1'
nillable='true'
type='idm:Reference'/> <xs: dement
17name='BusinessJustification' minOccurs='0' maxOccurs=' 1' nillable='true' type='idm:String'/> <xs: dement
name='RequestStatus' minOccurs=' 1' maxOccurs=T nillable='true'
type一idm:RequestStatusTypeV〉 <xs: dement
name='RequestStatusDetails'
minOccurs='0'
maxOccurs='unbounded'
nillable='true'
type='idm: String'/> <xs: dement
name=, Authentication Workflowlnstance'
minOccurs='0'
maxOccurs='unbounded'
nillable='true'
type='idm:Reference'/> <xs: dement
name='Authorization Workflowlnstance'
minOccurs='0'
maxOccurs='unbounded'
nillable='true'
type='idm:Reference'/> <xs: dement
name=, Action Workflowlnstance'
minOccurs='0'
maxOccurs='unbounded'
nillable='true'
type='idm:Reference'/> </xs:sequence〉 </xs:extcnsion> </xs:complexContent> </xs:complexType>
<xs:simpleType name='OperationType'> <xs:restriction base='xs:string'> <xs: enumeration value='Create' /> <xs .'enumeration value='Read, /> <xs: enumeration value='Update, /〉 <xs enumeration value='Delete' />
18<xs:enumeration value='Enumerate' /〉 <xs: enumeration value='SystemEvent' /> </xs:restriction> </xs:simpleType>
<xs:simpleType name='RequestStatusType'> <xs -restriction base-'xs: string'>
<xs enumeration value-'NotFound' /> <xs:enumeration value='Validating' /> <xs:enumeration value='Validated, /> <xs .'enumeration value='Authenticating' /> <xs: enumeration value='Authenticated' /> <xs: enumeration value='Authorizing' /> <xs: enumeration value='Authorized' /> <xs: enumeration value='Denied, /> <xs:enumeration value='Processing' /> <xs: enumeration value='ProcessingEffects' /> <xs:enumeration value:'Completed' /> <xs: enumeration value—Canceled' /> </xs:restriction> </xs:simpleType> 〈xs:clcmcnt
name='ApprovalResponse' nillable='true'
type='idm:ApprovalResponseType' /> </xs:schema>
在以上所提供的第二示例請求資源架構(gòu)中,定義了多個元素,包括 Parameter (參數(shù))、Operation (操作)、Target (目標)、BusinessJustification
(商業(yè)論證)、RequestStatus (請求狀態(tài))、RequestStatusDetails (請求狀態(tài) 細節(jié))、 Authentication Workflowlnstance (認證工作流實例)、 Authorization Workflowlnstance (授權(quán)工作流實例)以及Action Workflowlnstance
(動作工作流實例)。在該示例中,Parameter元素由web服務(wù)104的請求分 派者來編寫。該Parameter元素包含在操作524中發(fā)送的消息的正文的規(guī)范化 表示。
Operation元素包含對在操作520中作出的請求所請求的操作的標識。在 某些實施例中,該Operation元素包含選自"Create (創(chuàng)建)"、"Read (讀取)"、 "Update (更新)"、"Delete (刪除)"、"Enumerate (枚舉)"和"SystemEvent (系統(tǒng)事件)"的值。Target元素包含對操作所涉及的目標對象的引用。
BusinessJustification元素包含由請求者102輸入的、為授權(quán)者108提供關(guān)于為什么需要訪問受保護資源106的附加信息的基于文本的消息。
RequestStatus元素包含請求的當(dāng)前狀態(tài)。在某些實施例中,RequestStatus 包含選自"Not Found (未找到),,、"Validating (正在確認)"、"Validated (已 確認),,、"Authenticating (正在認證),,、"Authenticated (已認證),,、"Authorizing (正在授權(quán))"、"Authorized (已授權(quán))"、"Denied (已拒絕)"、"Processing (正在處理),,、"ProcessingEffects(處理見效),,、"Completed(完成)"和"Cancelled (已取消)"的值。
RequestStatusDetails元素包含用于向請求者102提供反饋的屬性。反饋的 示例包括將被發(fā)送到請求者102的錯誤消息或信息。
AuthenticationWorkflowlnstance包含對已經(jīng)啟動的所有認證工作流實例的 引用。
Authorization Workflowlnstance包含對已經(jīng)啟動的所有授權(quán)工作流實例的 引用。
ActionWorkflowInstance包含對已經(jīng)啟動的所有動作工作流實例的引用。 存儲請求資源502以使其可由web服務(wù)104訪問。在一個可能的示例中, 請求資源502是目錄中的條目。在另一實施例中,請求資源502是數(shù)據(jù)庫中的 記錄。在另一實施例中,請求資源502是存儲在存儲器存儲設(shè)備上的文件或文 件的一部分。
在生成請求資源502后,然后執(zhí)行操作524以通知請求者102在web服 務(wù)104能夠處理請求之前需要授權(quán)。在一個實施例中,操作524涉及發(fā)送SOAP 故障形式的響應(yīng)。該SOAP故障包括Detail元素的內(nèi)容。在某些實施例中,該 Detail元素還包括WS-定址端點引用,該引用包含web服務(wù)端點(如WS-RT 端點)的地址。在某些實施例中,該端點引用包含涉及資源的引用特性。在某 些實施例中,操作524在操作522之前執(zhí)行。
在操作402后,執(zhí)行可任選的操作404。操作404 —般是其中請求者102 能夠檢査請求的狀態(tài),諸如以便確定該請求是否已被授權(quán)的過程。操作404包 括操作530、 532、 534和536。操作404開始于操作530,在其間請求者102 向web服務(wù)104發(fā)送詢問請求狀態(tài)的査詢。在一個實施例中,操作530涉及將 Get消息從請求者102發(fā)送到web服務(wù)104。該Get消息包含諸如由操作524的SOAP故障提供的請求資源的地址。在另一實施例中,操作530涉及將
Enumerate消息從請求者102發(fā)送到web服務(wù)104。
在另一實施例中,操作530涉及重新提交在操作520中作出的請求,諸如 包括與在操作520中作出的請求相關(guān)聯(lián)的WS-安全對話上下文。該請求被發(fā)送 到由操作524中的響應(yīng)提供的地址。
一旦web服務(wù)104接收到狀態(tài)査詢,然后就執(zhí)行操作532。在操作532期 間,web服務(wù)104查詢請求資源502以確定請求的狀態(tài)。在一個示例實施例中, 請求資源502被存儲在數(shù)據(jù)庫中。在該實施例中,操作532涉及例如,web服 務(wù)104執(zhí)行結(jié)構(gòu)化査詢語言("SQL" ) Select語句以請求請求資源502的表 示。在另一示例實施例中,請求資源502是目錄中的條目。在該實施例中,操 作532涉及web服務(wù)104執(zhí)行IJ)AP査詢。
然后執(zhí)行操作534,在其間將請求資源502返回給web服務(wù)104。 web服 務(wù)104讀取請求資源502并確定請求的狀態(tài)。例如,web服務(wù)104讀取請求資 源502的"Status"元素以確定該請求是否已被授權(quán)。 一旦已確定狀態(tài),就執(zhí) 行操作536,在其間將該狀態(tài)傳回到請求者102。在所示實施例中,請求尚未 被授權(quán),并且因此web服務(wù)104發(fā)送陳述該請求尚未被授權(quán)的消息。在某些實 施例中,操作536涉及發(fā)送對Get或Enumerate消息的響應(yīng)。
在請求者102作出操作402的請求之后的某一時刻,授權(quán)者108授權(quán)或拒 絕該請求。在所示實施例中,授權(quán)者108在操作406中授權(quán)該請求。操作406 開始于操作540,在其間將授權(quán)從授權(quán)者108發(fā)送到web服務(wù)104。在一個實 施例中,通過Put消息來將授權(quán)從授權(quán)者108傳遞到web服務(wù)104。如果授權(quán) 者108確定該請求不應(yīng)被授權(quán),則授權(quán)者108發(fā)送拒絕消息以通知web服務(wù) 104該請求將不被授權(quán)。在一個實施例中,該拒絕也使用Put消息來傳遞。該 Put消息用于用由示例請求資源架構(gòu)定義的格式來更新資源的Data元素。在另 一可能的實施例中,諸如通過利用MICROSOFT .NET框架3.5和持久服務(wù) (Durable Service)來提供WS-安全對話令牌。
然而,在另一可能的實施例中,授權(quán)者108通過創(chuàng)建單獨的資源來響應(yīng)授 權(quán)請求。作為一個示例,授權(quán)者108通過發(fā)送WS-傳輸Create消息來執(zhí)行操作 540。該Create消息用于創(chuàng)建包含描述對授權(quán)請求的響應(yīng)的信息的單獨的資源(批準響應(yīng)(ApprovalResponse)資源)。批準響應(yīng)資源的示例架構(gòu)如下。
示例批準響應(yīng)資源架構(gòu)
< xml version='1.0, encoding='utf-8' > <xs: schema
elementFormDefault='qualified,
targetNamespace='http:〃schemas.microsoft.com/2006/ll/IdentityManagement' xmlns:xs='http:〃www.w3 .org/2001/XMLSchema'
xmlns: idm='http :〃schemas .microsoft. com/2006/11 /IdentityManagement'〉 <xs: include
schemaLocation-'http:〃sharepoint/sites/IdMT/Raven/Sharedo/o20Documents/Featur e%20Team%20Documents/Schema/Schema/Raven.Schema.IdentityManagementO bject.Schema.Ml.xsd' /> <xs: complexType name='ApprovalResponseType'> <xs:complexContent mixed='false'> <xs:extoision
base='idm:ResourceType'> <xs:scqu6ncc〉 <xs: dement
name='Approver' minOccurs='l' maxOccurs=, 1' nillable='true, type='idm:Reference' /> <xs: element name二'Decision' minOccurs=T maxOccurs=T nillable='true'
type='idm:ApprovalResponseDecisionType' /> <xs: element name='Reason' minOccurs='0' maxOccurs='l' nillable='true' type='idm: String'/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
<xs:simpleType name='ApprovalResponseDecisionType,> <xs :restriction base='xs: string'>
<xs: enumeration value=,Approved' />
22<xs enumeration value='Rejected' />
</xs:restriction> </xs: simpleType> <xs: dement
name='ApprovalResponse'
nillable='true'
type='idm:ApprovalResponseType' /> </xs:schema>
在以上所提供的示例批準響應(yīng)資源架構(gòu)中,定義了多個元素,包括 Approver (批準者)、Decision (決定)禾口 Reason (原因)。Approver元素包 含對授權(quán)者108的引用。Decision元素包含指示來自授權(quán)者108的對在操作520 中作出的請求的響應(yīng)的串。在一個示例中,該Decision元素具有值"Approved (批準)"或"Rejected (拒絕)"。Reason元素包含來自授權(quán)者108的、提 供關(guān)于為什么批準或拒絕該請求的附加信息的文本消息。其他實施例包括其他 資源和資源模式。
在一個實施例中,授權(quán)者108確定需要授權(quán),諸如以便通過訪問顯示等待 授權(quán)的請求的網(wǎng)站來發(fā)起操作406。例如,web服務(wù)104擔(dān)當(dāng)web服務(wù)器,并 將該網(wǎng)站傳送到在授權(quán)者108上操作的瀏覽器。在另一實施例中,授權(quán)者108 運行周期性地輪詢web服務(wù)104以檢查等待授權(quán)的請求的軟件應(yīng)用程序。例如, 軟件應(yīng)用程序在授權(quán)者108上操作以便周期性地檢査等待授權(quán)的請求。在另一 實施例中,web服務(wù)104與授權(quán)者108進行通信以通知授權(quán)者108請求等待授 權(quán)。其一個示例在2007年11月15日提交的題為"MODELING USER-INITIATED REQUESTS AND STATUS UPDATES WITHIN AN E-MAIL MESSAGE (對電子郵件消息中的用戶發(fā)起的請求和狀態(tài)更新建模)"的美國 專利申請第11/931,004號中描述,該申請的全部公開內(nèi)容通過引用結(jié)合于此。
然后執(zhí)行操作542和546,在其間web服務(wù)104取得請求資源502的副本。 在一個示例實施例中,請求資源502被存儲在數(shù)據(jù)庫中。在該實施例中,操作 542涉及web服務(wù)104執(zhí)行SQL Select語句以請求請求資源502的表示。在另 一示例實施例中,請求資源502是目錄中的條目。在該實施例中,操作542涉 及web服務(wù)104執(zhí)行LDAP查詢。然后在操作546中將所請求的資源返回給 web服務(wù)104。
一旦接收到授權(quán),然后就執(zhí)行操作548,在其間執(zhí)行涉及受保護資源106的最初請求的操作。例如,將用戶名添加到組分發(fā)列表。如此處所描述的,web
服務(wù)104可執(zhí)行許多其他操作。
在接收到授權(quán)后,執(zhí)行操作550。在操作550中,web服務(wù)104更新請求 資源502的狀態(tài)。在一個實施例中,這涉及改變請求資源502的Status元素以 指示已接收到對該請求的授權(quán)。在另一實施例中,用操作548的結(jié)果來更新請 求資源502以記錄在執(zhí)行所請求的操作時發(fā)生了什么。例如,在Status元素中 更新請求資源502以指示該請求已被授權(quán)。作為另一示例,更新請求資源502 以示出用戶名已被添加到組分發(fā)列表。這對于例如不僅提供在請求被授權(quán)時執(zhí) 行了什么操作,而且提供該操作的結(jié)果是有用的。
在接收到授權(quán)后執(zhí)行操作552。在操作552期間,web服務(wù)104與授權(quán)者 108進行通信以確認接收到批準。在一個實施例中,操作552涉及將Put響應(yīng) 消息從web服務(wù)104發(fā)送到授權(quán)者108。在替換實施例中,操作548、 550和 552能夠以任何次序執(zhí)行。例如,web服務(wù)104可在在操作548中執(zhí)行所請求 的操作之前更新請求資源502的狀態(tài)。另外,操作552可在操作540后的任何 時刻執(zhí)行以便向授權(quán)者108傳達巳成功地接收到授權(quán)。
一旦已經(jīng)接收到授權(quán),就執(zhí)行操作408以將授權(quán)事實傳達給請求者102。 除了在操作404中通知請求者尚未接收到授權(quán),但在操作408中通知請求者已 接收到授權(quán)之外,操作408與操作404相同。在可能的實施例中,周期性地執(zhí) 行操作404直到執(zhí)行操作406以指示已接收到授權(quán)。
在所示實施例中,操作408開始于操作560,在其間請求者102向web服 務(wù)104發(fā)送詢問請求狀態(tài)的査詢。在一個實施例中,操作560涉及將Get消息 從請求者102發(fā)送到web服務(wù)104。該Get消息包含諸如由操作524的SOAP 故障提供的請求資源的地址。在另一實施例中,操作560涉及將Enumerate消 息從請求者102發(fā)送到web服務(wù)104。在另一實施例中,操作560涉及通過在 請求者102上操作的瀏覽器來刷新網(wǎng)頁。
然后執(zhí)行操作562和564,在其間web服務(wù)104請求請求資源502的副本 并接收請求資源502的副本。在一個實施例中,操作562涉及web服務(wù)104査 詢請求資源502以確定請求的狀態(tài)。然后執(zhí)行操作564,在其間將請求資源502 返回給web服務(wù)104。 一旦web服務(wù)104已取得請求資源502,它就審閱請求資源502以確定請求的狀態(tài)。在所示示例中,已在操作540中授權(quán)該請求。因 此,執(zhí)行操作566以通知請求者102該請求已被授權(quán)。在一個實施例中,操作 566涉及發(fā)送對Get或Enumerate消息的響應(yīng)。在某些實施例中,該響應(yīng)包括 原始請求所請求的來自受保護資源106的信息(諸如來自Data元素的數(shù)據(jù))。
以上參考附圖描述了本發(fā)明的各實施例,可以理解,可以對所公開的各實 施例做出本領(lǐng)域技術(shù)人員易于想到且被包含在本發(fā)明的精神和范圍內(nèi)的眾多 修改。實際上,盡管出于公開的目的描述了目前優(yōu)選的實施例,但可以做出落 入本發(fā)明的范圍的各種改變和修改。
同樣地,雖然本發(fā)明使用了對結(jié)構(gòu)特征、方法動作和含有這些動作的計算 機可讀介質(zhì)專用的語言,但是應(yīng)該理解,在所附權(quán)利要求書中定義的本發(fā)明不 必限于此處描述的具體結(jié)構(gòu)、動作、特征或介質(zhì)。相反,上述具體特征和動作 是作為實現(xiàn)權(quán)利要求的示例形式公開的。本領(lǐng)域技術(shù)人員將認識到本發(fā)明精神 和范圍中的其它實施例或改進。因此,這些具體結(jié)構(gòu)、動作、或介質(zhì)是作為示 例性實施例而公開的。
權(quán)利要求
1.一種用于控制對受保護web服務(wù)資源的訪問的計算系統(tǒng),所述計算系統(tǒng)包括用于跨通信網(wǎng)絡(luò)進行通信的通信設(shè)備;通信地連接到所述通信設(shè)備的處理器;以及存儲程序指令的存儲器,所述指令在由所述處理器執(zhí)行時使得所述計算系統(tǒng)執(zhí)行以下操作,包括接收從所述通信網(wǎng)絡(luò)訪問受保護web服務(wù)資源的請求;確定所述訪問受保護web服務(wù)資源的請求是否已被授權(quán);如果所述請求未被授權(quán),則拒絕對所述受保護web服務(wù)資源的訪問;以及如果所述請求已被授權(quán),則準許對所述受保護web服務(wù)資源的訪問。
2. 如權(quán)利要求1所述的計算系統(tǒng),其特征在于,接收所述請求包括接收 Create消息。
3. 如權(quán)利要求2所述的計算系統(tǒng),其特征在于,在接收到所述Create消 息后,所述指令使得所述計算系統(tǒng)執(zhí)行以下操作,包括確定訪問所述受保護web服務(wù)資源是否需要授權(quán);以及生成并存儲與所述請求相關(guān)聯(lián)的資源請求以存儲關(guān)于所述請求的狀態(tài)的 數(shù)據(jù)。
4. 如權(quán)利要求1所述的計算系統(tǒng),其特征在于,所述操作還包括生成與所 述請求相關(guān)聯(lián)的請求資源并將其存儲在存儲器中,所述請求資源包含標識所述 請求是否已被授權(quán)的數(shù)據(jù)。
5. 如權(quán)利要求4所述的計算系統(tǒng),其特征在于,所述請求資源由可擴展標 記語言來定義。
6. 如權(quán)利要求5所述的計算系統(tǒng),其特征在于,所述請求資源包括 存儲將要執(zhí)行的操作的標識符的第一元素;以及存儲所述訪問受保護web服務(wù)資源的請求的當(dāng)前狀態(tài)的標識符的第二元素。
7. 如權(quán)利要求6所述的計算系統(tǒng),其特征在于,所述請求資源還包括存儲狀態(tài)元素、細節(jié)元素、批準過程元素和數(shù)據(jù)元素的副本。
8. 如權(quán)利要求4所述的計算系統(tǒng),其特征在于,確定所述訪問受保護web服務(wù)資源的請求是否已被授權(quán)包括從所述請求資源中取得標識所述請求是否 已被授權(quán)的數(shù)據(jù)。
9. 如權(quán)利要求4所述的計算系統(tǒng),其特征在于,拒絕對所述受保護web 服務(wù)資源的訪問包括跨所述網(wǎng)絡(luò)發(fā)送故障消息。
10. 如權(quán)利要求4所述的計算系統(tǒng),其特征在于,準許對所述受保護 web服務(wù)資源的訪問還包括選自包括以下操作的組的操作改變所述受保護資 源、修改所述受保護資源、添加到所述受保護資源、刪除所述受保護資源、修 改所述受保護資源以及使用所述受保護資源。
11. 一種授權(quán)對web服務(wù)資源的訪問的方法,所述方法包括 從請求者接收標識web服務(wù)資源的請求;確定訪問所述web服務(wù)資源需要授權(quán);從授權(quán)者接收授權(quán)所述請求者訪問所述web服務(wù)資源的授權(quán);以及 將所述授權(quán)傳遞給所述請求者。
12. 如權(quán)利要求ll所述的方法,其特征在于,還包括從請求者接收標識所述web服務(wù)資源的第二請求; 確定所述第二請求是否已由所述授權(quán)者授權(quán);以及 提供對所述web服務(wù)資源的訪問。
13. 如權(quán)利要求11所述的方法,其特征在于,還包括在確定需要授權(quán) 后生成請求資源。
14. 如權(quán)利要求13所述的方法,其特征在于,還包括在接收到來自所 述授權(quán)者的授權(quán)后用指示所述請求已由所述授權(quán)者授權(quán)的數(shù)據(jù)來更新所述請 求資源。
15. 如權(quán)利要求13所述的方法,其特征在于,所述請求資源以可擴展 標記語言來生成。
16. —種包含計算機可執(zhí)行指令的計算機可讀存儲介質(zhì),所述指令在由計算機執(zhí)行時執(zhí)行一種授權(quán)對受保護資源的訪問的方法,所述方法包括 從請求者接收標識web服務(wù)的受保護資源的請求;接收授權(quán)對所述web服務(wù)的受保護資源的使用的授權(quán); 確定所述請求已被授權(quán);以及 將所述授權(quán)傳遞給所述請求者。
17. 如權(quán)利要求16所述的計算機可讀存儲介質(zhì),其特征在于,所述方法還包括允許在確定所述請求己被授權(quán)后訪問所述受保護資源。
18. 如權(quán)利要求16所述的計算機可讀存儲介質(zhì),其特征在于,所述方 法還包括在接收到標識所述web服務(wù)的受保護資源的請求后生成并存儲資源 請求。
19. 如權(quán)利要求18所述的計算機可讀存儲介質(zhì),其特征在于,所述方 法還包括在接收到指示所述請求已被授權(quán)的授權(quán)后更新所述資源請求。
20. 如權(quán)利要求19所述的計算機可讀存儲介質(zhì),其特征在于,確定所 述請求已被授權(quán)包括從所述資源請求中取得數(shù)據(jù)并確定所述數(shù)據(jù)指示所述請 求已被授權(quán)。
全文摘要
web服務(wù)包括受保護資源。請求者通過向web服務(wù)發(fā)送請求來請求訪問受保護資源。web服務(wù)阻止對該web服務(wù)的訪問直到該請求已由授權(quán)者授權(quán)。在該請求已由授權(quán)者授權(quán)后,web服務(wù)允許請求者訪問受保護資源。
文檔編號G06F21/20GK101663671SQ200880012471
公開日2010年3月3日 申請日期2008年3月18日 優(yōu)先權(quán)日2007年4月20日
發(fā)明者A·T·韋納特, C·V·邁克庫特里, M·E·賈巴拉, V·梅列舒克 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
顺昌县| 金乡县| 二手房| 大英县| 龙川县| 枣强县| 昌黎县| 易门县| 宁远县| 子长县| 海淀区| 牡丹江市| 望江县| 青阳县| 宁德市| 托克逊县| 大荔县| 芮城县| 朝阳区| 赣榆县| 新邵县| 孝义市| 蒙城县| 丹棱县| 新平| 肥东县| 崇仁县| 邹平县| 永州市| 泰来县| 铜鼓县| 邯郸市| 平阴县| 水富县| 沂水县| 镇雄县| 临潭县| 合阳县| 浦北县| 英德市| 北京市|