本申請涉及計算機技術(shù)領(lǐng)域,具體涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及服務(wù)調(diào)用方法和裝置。
背景技術(shù):
在基于服務(wù)的架構(gòu)盛行的如今,大量應(yīng)用為了集成方便和降低模塊之間的耦合性,通常構(gòu)建出相對獨立的各個模塊。各個模塊之間互相屏蔽底層協(xié)議內(nèi)容的細節(jié),彼此通過服務(wù)與客戶架構(gòu)方式進行通信,以達到整合服務(wù)的目的。在這種架構(gòu)方式下由于各模塊互相分離,需要對調(diào)用服務(wù)者的權(quán)限進行認證。
現(xiàn)有的認證方式是利用令牌進行識別,其認證完全依賴令牌不泄密,存在信息安全隱患。因此,需要提高服務(wù)調(diào)用過程中的安全性。
技術(shù)實現(xiàn)要素:
本申請的目的在于提出一種改進的服務(wù)調(diào)用方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請?zhí)峁┝艘环N服務(wù)調(diào)用方法,所述方法包括:接收服務(wù)調(diào)用節(jié)點發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請求,其中所述票據(jù)是預(yù)先對客戶端進行身份驗證并在驗證通過后生成的票據(jù),且所述票據(jù)同時存儲在認證節(jié)點和所述服務(wù)調(diào)用節(jié)點中;將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點,以使所述認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成認證結(jié)果信息;接收所述認證節(jié)點返回的所述認證結(jié)果信息;在所述認證結(jié)果信息指示認證通過時,執(zhí)行所述服務(wù)調(diào)用請求所請求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至所述服務(wù)調(diào)用節(jié)點。
在一些實施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點與本機處于不同的域時, 所述票據(jù)是所述認證節(jié)點預(yù)先對所述客戶端進行身份驗證并驗證通過后生成并返回至所述客戶端的票據(jù),且所述票據(jù)經(jīng)由所述客戶端發(fā)送至所述服務(wù)調(diào)用節(jié)點。
在一些實施例中,所述將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點,包括:使用安全聲明標(biāo)記語言協(xié)議對所述票據(jù)進行封裝后發(fā)送至所述認證節(jié)點。
在一些實施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點與本機處于相同的域時,所述票據(jù)是登錄服務(wù)器預(yù)先對所述客戶端進行身份驗證并驗證通過后生成的cookie票據(jù),所述cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點、本機以及認證節(jié)點所處的同一個域中共享。
第二方面,本申請?zhí)峁┝擞忠环N服務(wù)調(diào)用方法,所述方法包括:向服務(wù)提供節(jié)點發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請求,其中所述票據(jù)是對客戶端進行身份驗證并驗證通過后生成的票據(jù),且所述票據(jù)同時存儲在認證節(jié)點和本機中;接收所述服務(wù)提供節(jié)點在認證結(jié)果信息指示認證通過時、執(zhí)行所述服務(wù)調(diào)用請求所請求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,所述認證結(jié)果信息是所述服務(wù)提供節(jié)點將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點后、由所述認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成的認證結(jié)果信息,且所述認證結(jié)果信息由所述認證節(jié)點發(fā)送至所述服務(wù)提供節(jié)點。
第三方面,本申請?zhí)峁┝艘环N服務(wù)調(diào)用裝置,所述裝置包括:請求接收單元,用于接收服務(wù)調(diào)用節(jié)點發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請求,其中所述票據(jù)是預(yù)先對客戶端進行身份驗證并在驗證通過后生成的票據(jù),且所述票據(jù)同時存儲在認證節(jié)點和所述服務(wù)調(diào)用節(jié)點中;發(fā)送單元,用于將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點,以使所述認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成認證結(jié)果信息;信息接收單元,用于接收所述認證節(jié)點返回的所述認證結(jié)果信息;執(zhí)行單元,用于在所述認證結(jié)果信息指示認證通過時,執(zhí)行所述服務(wù)調(diào)用請求所請求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至所述服務(wù)調(diào)用節(jié)點。
在一些實施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點與本機處于不同的域時, 所述票據(jù)是所述認證節(jié)點預(yù)先對所述客戶端進行身份驗證并驗證通過后生成并返回至所述客戶端的票據(jù),且所述票據(jù)經(jīng)由所述客戶端發(fā)送至所述服務(wù)調(diào)用節(jié)點。
在一些實施例中,所述發(fā)送單元進一步用于:使用安全聲明標(biāo)記語言協(xié)議對所述票據(jù)進行封裝后發(fā)送至所述認證節(jié)點。
在一些實施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點與本機處于相同的域時,所述票據(jù)是登錄服務(wù)器預(yù)先對所述客戶端進行身份驗證并驗證通過后生成的cookie票據(jù),所述cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點、本機以及認證節(jié)點所處的同一個域中共享。
第三方面,本申請?zhí)峁┝擞忠环N服務(wù)調(diào)用裝置,所述裝置包括:請求發(fā)送單元,用于向服務(wù)提供節(jié)點發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請求,其中所述票據(jù)是對客戶端進行身份驗證并驗證通過后生成的票據(jù),且所述票據(jù)同時存儲在認證節(jié)點和本機中;信息接收單元,用于接收所述服務(wù)提供節(jié)點在認證結(jié)果信息指示認證通過時、執(zhí)行所述服務(wù)調(diào)用請求所請求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,所述認證結(jié)果信息是所述服務(wù)提供節(jié)點將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點后、由所述認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成的認證結(jié)果信息,且所述認證結(jié)果信息由所述認證節(jié)點發(fā)送至所述服務(wù)提供節(jié)點。
本申請?zhí)峁┑姆?wù)調(diào)用方法和裝置,在服務(wù)調(diào)用請求中攜帶票據(jù),并通過第三方的認證節(jié)點對票據(jù)的認證,實現(xiàn)服務(wù)提供節(jié)點對服務(wù)調(diào)用請求的權(quán)限識別,非法用戶無法操作第三方的認證節(jié)點,從而有利于防止非法用戶通過獲取客戶端中的令牌等安全信息來偽造服務(wù)調(diào)用。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請的服務(wù)調(diào)用方法的一個實施例的流程圖;
圖3是根據(jù)本申請的服務(wù)調(diào)用方法的又一個實施例的流程圖;
圖4是根據(jù)本申請的服務(wù)調(diào)用裝置的一個實施例的結(jié)構(gòu)示意圖;
圖5是根據(jù)本申請的服務(wù)調(diào)用裝置的又一個實施例的結(jié)構(gòu)示意圖;
圖6是適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本申請。
圖1示出了可以應(yīng)用本申請的服務(wù)調(diào)用方法或服務(wù)調(diào)用裝置的實施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、應(yīng)用服務(wù)器102、應(yīng)用服務(wù)器103和認證節(jié)點104等設(shè)備。各個設(shè)備之間可以通過網(wǎng)絡(luò)進行通信,所使用的網(wǎng)絡(luò)可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101通過網(wǎng)絡(luò)與應(yīng)用服務(wù)器102交互,以訪問應(yīng)用服務(wù)器102上運行的應(yīng)用。
終端設(shè)備101可以是具有顯示屏并且支持網(wǎng)頁瀏覽的各種電子設(shè)備,包括但不限于智能手機、平板電腦、電子書閱讀器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、mp4(movingpictureexpertsgroupaudiolayeriv,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。終端設(shè)備101上可以安裝有各種通訊客戶端應(yīng)用,例如網(wǎng)頁瀏覽器應(yīng)用。
應(yīng)用服務(wù)器102、應(yīng)用服務(wù)器103可以是提供各種服務(wù)的服務(wù)器,例如應(yīng)用服務(wù)器102可以對終端設(shè)備上運行的客戶端應(yīng)用提供數(shù)據(jù)支持。應(yīng)用服務(wù)器102在對外提供服務(wù)時,還可以調(diào)用應(yīng)用服務(wù)器103提供的服務(wù)。當(dāng)應(yīng)用服務(wù)器102調(diào)用應(yīng)用服務(wù)器103提供的服務(wù)時,應(yīng)用服務(wù)器102為服務(wù)調(diào)用節(jié)點,應(yīng)用服務(wù)器103為服務(wù)提供節(jié)點。服務(wù)調(diào)用節(jié)點和服務(wù)提供節(jié)點只是相對的,當(dāng)應(yīng)用服務(wù)器102被其他設(shè)備調(diào)用時,應(yīng)用服務(wù)器102也可以是服務(wù)提供節(jié)點;當(dāng)應(yīng)用服務(wù)器103調(diào)用其他設(shè)備時,應(yīng)用服務(wù)器103也可以是服務(wù)調(diào)用節(jié)點。
認證節(jié)點104可以對其他設(shè)備發(fā)送的票據(jù)進行認證,并生成認證結(jié)果返回至相應(yīng)設(shè)備。
需要說明的是,圖2對應(yīng)實施例的服務(wù)調(diào)用方法一般由服務(wù)提供節(jié)點(例如應(yīng)用服務(wù)器103)執(zhí)行,相應(yīng)的,圖4對應(yīng)實施例所提供的服務(wù)調(diào)用裝置一般設(shè)置在服務(wù)提供節(jié)點中;圖3對應(yīng)實施例的服務(wù)調(diào)用方法一般由服務(wù)調(diào)用節(jié)點(應(yīng)用服務(wù)器102)執(zhí)行,相應(yīng)的,圖5對應(yīng)實施例所提供的服務(wù)調(diào)用裝置一般設(shè)置在服務(wù)調(diào)用節(jié)點中。
應(yīng)該理解,圖1中的終端設(shè)備、應(yīng)用服務(wù)器和認證節(jié)點的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、應(yīng)用服務(wù)器和認證節(jié)點。
繼續(xù)參考圖2,示出了根據(jù)本申請的服務(wù)調(diào)用方法的一個實施例的流程200。所述的服務(wù)調(diào)用方法,包括以下步驟:
步驟201,接收服務(wù)調(diào)用節(jié)點發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請求。
在本實施例中,服務(wù)調(diào)用方法運行于其上的電子設(shè)備(例如圖1所示的應(yīng)用服務(wù)器103)可以通過有線連接方式或者無線連接方式從服務(wù)調(diào)用節(jié)點(例如圖1中的應(yīng)用服務(wù)器102)處接收服務(wù)調(diào)用請求。其中,上述服務(wù)調(diào)用請求攜帶有票據(jù)。該票據(jù)可以是各種設(shè)備對客戶端(例如圖1中的終端設(shè)備)進行身份驗證并驗證通過后生成的票據(jù)。
在本實施例的一些可選實現(xiàn)方式中,當(dāng)服務(wù)調(diào)用節(jié)點與電子設(shè)備處于不同的域時,上述票據(jù)(ticket)可以是認證節(jié)點預(yù)先對客戶端進行身份驗證并驗證通過后生成的,且票據(jù)經(jīng)由客戶端發(fā)送至服務(wù)調(diào)用 節(jié)點。
以下以圖1中的應(yīng)用服務(wù)器102作為接收客戶端訪問的應(yīng)用服務(wù)器且作為服務(wù)調(diào)用節(jié)點、圖1中的終端設(shè)備101作為客戶端、圖1中的應(yīng)用服務(wù)器103為服務(wù)提供節(jié)點為例,對上述實現(xiàn)方式中票據(jù)的生成過程進行說明。首先,用戶使用終端設(shè)備101上的瀏覽器向應(yīng)用服務(wù)器102發(fā)出訪問請求。接著,應(yīng)用服務(wù)器102可以在調(diào)用應(yīng)用服務(wù)器103提供的服務(wù)時,判斷上述訪問請求中是否帶有票據(jù),如果沒有,應(yīng)用服務(wù)器102可以向終端設(shè)備101發(fā)送授權(quán)命令,該授權(quán)命令中包含認證節(jié)點104的地址;之后,終端設(shè)備101自動執(zhí)行該授權(quán)命令,向所指示的認證節(jié)點104發(fā)送授權(quán)請求,該授權(quán)請求中可以包含用戶身份信息(例如用戶名和密碼);認證節(jié)點104可以對用戶身份信息進行驗證,在驗證通過后,生成與該用戶身份信息對應(yīng)的票據(jù);最后,認證節(jié)點104可以將所生成的票據(jù)發(fā)送至終端設(shè)備并在認證節(jié)點中保存票據(jù)的副本;終端設(shè)備還可以將票據(jù)轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器102。
實踐中,本申請中的服務(wù)調(diào)用節(jié)點也可以不是直接接收客戶端訪問的應(yīng)用服務(wù)器,而是對直接接收客戶端訪問的應(yīng)用服務(wù)器直接或間接提供服務(wù)的其他應(yīng)用服務(wù)器。此時,直接接收客戶端訪問的應(yīng)用服務(wù)器通過以上流程獲得票據(jù)后,可以在服務(wù)調(diào)用過程中通過服務(wù)調(diào)用請求直接或間接傳遞到服務(wù)提供節(jié)點中,使得服務(wù)調(diào)用節(jié)點可以獲得該票據(jù),并在調(diào)用服務(wù)提供節(jié)點提供的服務(wù)時將票據(jù)攜帶在服務(wù)調(diào)用請求中傳遞給服務(wù)提供節(jié)點。
在該實現(xiàn)方式中,電子設(shè)備可以借助第三方的認證節(jié)點為客戶端生成票據(jù),該票據(jù)可以通過客戶端對應(yīng)用服務(wù)器中服務(wù)的訪問以及不同應(yīng)用服務(wù)器之間的服務(wù)調(diào)用完成票據(jù)的傳遞,作為服務(wù)提供節(jié)點的電子設(shè)備可以從服務(wù)調(diào)用節(jié)點順利獲得票據(jù),之后再進行后續(xù)的認證。該方式可以實對跨域的服務(wù)調(diào)用進行認證,安全性較高。
在本實施例的一些可選實現(xiàn)方式中,當(dāng)上述服務(wù)調(diào)用節(jié)點與電子設(shè)備處于不同的域時,上述票據(jù)是登錄服務(wù)器預(yù)先對客戶端進行身份驗證并驗證通過后生成的cookie票據(jù),cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點、電子設(shè)備本機以及認證節(jié)點所處的同一個域中共 享。cookie是網(wǎng)站為了辨別用戶身份、進行會話跟蹤而儲存在用戶本地終端上的數(shù)據(jù),cookie中包含用于標(biāo)識用戶身份的cookie票據(jù)。在該實現(xiàn)方式中,cookie票據(jù)可以借助單點登錄機制在同一個域的多臺設(shè)備中進行共享。即,在客戶端在通過登錄服務(wù)器的身份驗證后,cookie票據(jù)可以借助同域名下各設(shè)備之間cookie的自動傳遞機制實現(xiàn)共享。該方式可以對域內(nèi)的服務(wù)調(diào)用進行認證,且設(shè)備間票據(jù)的傳遞較少。
步驟202,將服務(wù)調(diào)用請求中的票據(jù)發(fā)送至認證節(jié)點,以使認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成認證結(jié)果信息。
在本實施例中,基于步驟201中得到的服務(wù)調(diào)用請求,電子設(shè)備可以將服務(wù)調(diào)用請求中的票據(jù)發(fā)送給認證節(jié)點。由于認證節(jié)點中預(yù)先存儲了一份票據(jù),該認證節(jié)點可以使用所存儲的票據(jù)對接收到的票據(jù)進行認證,從而生成認證結(jié)果,該認證結(jié)果信息可以是指示認證通過或未通過的信息??蛇x的,具體的認證方法可以是將兩種票據(jù)的部分或全部信息進行對比,當(dāng)一致性時判定為認證通過,否則判定為認證未通過。
在本實施例的一些可選實現(xiàn)方式中,電子設(shè)備可以使用安全聲明標(biāo)記語言(saml,securityassertionmarkuplanguage)協(xié)議對票據(jù)進行封裝,并將封裝后的數(shù)據(jù)發(fā)送至認證節(jié)點。saml協(xié)議是一個基于xml(extensiblemarkuplanguage,可擴展標(biāo)記語言)的標(biāo)準(zhǔn),用于在不同的安全域之間交換認證和授權(quán)數(shù)據(jù)。在saml標(biāo)準(zhǔn)定義了身份提供者和服務(wù)提供者,這兩者構(gòu)成了不同的安全域。在該實現(xiàn)方式中,票據(jù)的發(fā)送采用saml協(xié)議,有利于提高通信安全??蛇x的,在發(fā)送時,底層的數(shù)據(jù)協(xié)議可以采用https協(xié)議,https是以安全為目標(biāo)的http通道,有利于進一步提高信息傳輸?shù)陌踩浴?/p>
步驟203,接收認證節(jié)點返回的認證結(jié)果信息。
在本實施例中,基于步驟202中認證節(jié)點生成的認證結(jié)果信息,認證節(jié)點可以將相應(yīng)的認證結(jié)果信息發(fā)回至電子設(shè)備。電子設(shè)備可以對認證節(jié)點進行通信,以接收認證節(jié)點發(fā)回的認證結(jié)果信息。
步驟204,在認證結(jié)果信息指示認證通過時,對服務(wù)調(diào)用請求進行處理,并將處理生成的調(diào)用結(jié)果信息返回至服務(wù)調(diào)用節(jié)點。
在本實施例中,基于步驟203接收到認證結(jié)果信息后,電子設(shè)備可以對認證結(jié)果信息進行解析。當(dāng)認證結(jié)果信息指示認證通過時,可以確定相應(yīng)的客戶端具有服務(wù)調(diào)用請求的權(quán)限,從而可以處理服務(wù)調(diào)用請求所請求的服務(wù),在處理生成調(diào)用結(jié)果信息后,將調(diào)用結(jié)果信息反饋給服務(wù)調(diào)用節(jié)點,從而完成調(diào)用過程??蛇x的,若上述認證結(jié)果信息指示認證未通過,則拒絕上述服務(wù)調(diào)用請求。
本申請的上述實施例提供的方法,在服務(wù)調(diào)用請求中攜帶票據(jù),并通過第三方的認證節(jié)點對票據(jù)的認證,實現(xiàn)服務(wù)提供節(jié)點對服務(wù)調(diào)用請求的權(quán)限識別,非法用戶無法操作第三方的認證節(jié)點,從而有利于防止非法用戶通過獲取客戶端中的令牌等安全信息來偽造服務(wù)調(diào)用。
進一步參考圖3,其示出了服務(wù)調(diào)用方法的又一個實施例的流程300。該服務(wù)調(diào)用方法的流程300,包括以下步驟:
步驟301,向服務(wù)提供節(jié)點發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請求。
在本實施例中,服務(wù)調(diào)用方法運行于其上的電子設(shè)備(例如圖1所示的應(yīng)用服務(wù)器102)可以通過有線連接方式或者無線連接方式向服務(wù)提供節(jié)點發(fā)送服務(wù)調(diào)用請求。該票據(jù)可以是各種設(shè)備對客戶端進行身份驗證并驗證通過后生成的票據(jù),且票據(jù)同時存儲在認證節(jié)點和服務(wù)調(diào)用節(jié)點中。上述無線連接方式可以包括但不限于3g/4g連接、wifi連接、藍牙連接、wimax連接、zigbee連接、uwb(ultrawideband)連接、以及其他現(xiàn)在已知或?qū)黹_發(fā)的無線連接方式。
需要說明的是,電子設(shè)備可以在運行應(yīng)用時主動向服務(wù)提供節(jié)點發(fā)送服務(wù)調(diào)用請求,也可以是根據(jù)用戶通過客戶端上的瀏覽器發(fā)出執(zhí)行某個操作的命令,電子設(shè)備在執(zhí)行該命令所請求的操作時向調(diào)用服務(wù)提供節(jié)點請求調(diào)用執(zhí)行該操作的服務(wù)。
步驟302,接收服務(wù)提供節(jié)點在認證結(jié)果信息指示認證通過時、執(zhí)行服務(wù)調(diào)用請求所請求的服務(wù)而生成的調(diào)用結(jié)果信息。
在本實施例中,基于步驟202發(fā)送給服務(wù)調(diào)用節(jié)點的服務(wù)調(diào)用請求,服務(wù)提供節(jié)點可以通過票據(jù)對該服務(wù)調(diào)用請求的權(quán)限進行認證,在認證通過后執(zhí)行服務(wù)器調(diào)用請求所請求的服務(wù),并將執(zhí)行生成的調(diào)用結(jié)果信息發(fā)回至電子設(shè)備,從而使電子設(shè)備接收到該調(diào)用結(jié)果信息,完成服務(wù)調(diào)用過程。其中,服務(wù)提供節(jié)點可以通過以下步驟根據(jù)票據(jù)對服務(wù)調(diào)用請求的權(quán)限進行判斷:首先,服務(wù)提供節(jié)點可以將票據(jù)發(fā)送給認證節(jié)點,認證節(jié)點可以使用預(yù)先存儲的票據(jù)對所接收到的票據(jù)進行認證,并將認證結(jié)果信息發(fā)回至服務(wù)提供節(jié)點;之后,服務(wù)提供節(jié)點可以根據(jù)該認證結(jié)果信息判定上述服務(wù)調(diào)用請求是否具體相應(yīng)的權(quán)限。
本申請的上述實施例提供的方法,在服務(wù)調(diào)用請求中攜帶票據(jù),并通過第三方的認證節(jié)點對票據(jù)的認證,實現(xiàn)服務(wù)提供節(jié)點對服務(wù)調(diào)用請求的權(quán)限識別,非法用戶無法操作第三方的認證節(jié)點,從而有利于防止非法用戶通過獲取客戶端中的令牌等安全信息來偽造服務(wù)調(diào)用。
進一步參考圖4,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝艘环N服務(wù)調(diào)用裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應(yīng),該裝置具體可以應(yīng)用于各種服務(wù)器中。
如圖4所示,本實施例所述的服務(wù)調(diào)用裝置400包括:請求接收單元401、發(fā)送單元402、信息接收單元403和執(zhí)行單元404。其中,請求接收單元401用于接收服務(wù)調(diào)用節(jié)點發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請求,其中票據(jù)是預(yù)先對客戶端進行身份驗證并在驗證通過后生成的票據(jù),且票據(jù)同時存儲在認證節(jié)點和服務(wù)調(diào)用節(jié)點中;發(fā)送單元402用于將服務(wù)調(diào)用請求中的票據(jù)發(fā)送至認證節(jié)點,以使認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成認證結(jié)果信息;信息接收單元403用于接收認證節(jié)點返回的認證結(jié)果信息;而執(zhí)行單元404用于在認證結(jié)果信息指示認證通過時,執(zhí)行服務(wù)調(diào)用請求所請求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至服務(wù)調(diào)用節(jié)點。
在本實施例中,服務(wù)調(diào)用裝置400的請求接收單元401、發(fā)送單 元402、信息接收單元403和執(zhí)行單元404的具體處理可以參考圖2對應(yīng)實施例中的步驟201、步驟202、步驟203,這里不再贅述。
在本實施例的一些可選實現(xiàn)方式中,當(dāng)服務(wù)調(diào)用節(jié)點與本機處于不同的域時,票據(jù)是認證節(jié)點預(yù)先對客戶端進行身份驗證并驗證通過后生成并返回至客戶端的票據(jù),且票據(jù)經(jīng)由客戶端發(fā)送至服務(wù)調(diào)用節(jié)點。該實現(xiàn)方式的具體處理可以參考圖2對應(yīng)實施例中相應(yīng)的實現(xiàn)方式,這里不再贅述。
在本實施例的一些可選實現(xiàn)方式中,發(fā)送單元402進一步用于:使用安全聲明標(biāo)記語言協(xié)議對票據(jù)進行封裝后發(fā)送至認證節(jié)點。該實現(xiàn)方式的具體處理可以參考圖2對應(yīng)實施例中相應(yīng)的實現(xiàn)方式,這里不再贅述。
在本實施例的一些可選實現(xiàn)方式中,當(dāng)服務(wù)調(diào)用節(jié)點與本機處于相同的域時,票據(jù)是登錄服務(wù)器預(yù)先對客戶端進行身份驗證并驗證通過后生成的cookie票據(jù),cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點、本機以及認證節(jié)點所處的同一個域中共享。該實現(xiàn)方式的具體處理可以參考圖2對應(yīng)實施例中相應(yīng)的實現(xiàn)方式,這里不再贅述。
進一步參考圖5,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝擞忠环N服務(wù)調(diào)用裝置的一個實施例,該裝置實施例與圖3所示的方法實施例相對應(yīng),該裝置具體可以應(yīng)用于各種服務(wù)器中。
如圖5所示,本實施例所述的服務(wù)調(diào)用裝置500包括:請求發(fā)送單元501、信息接收單元502。其中,請求發(fā)送單元501用于向服務(wù)提供節(jié)點發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請求,其中票據(jù)是對客戶端進行身份驗證并驗證通過后生成的票據(jù),且票據(jù)同時存儲在認證節(jié)點和本機中;信息接收單元502用于接收服務(wù)提供節(jié)點在認證結(jié)果信息指示認證通過時、執(zhí)行服務(wù)調(diào)用請求所請求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,認證結(jié)果信息是服務(wù)提供節(jié)點將服務(wù)調(diào)用請求中的票據(jù)發(fā)送至認證節(jié)點后、由認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成的認證結(jié)果信息,且認證結(jié)果信息由認證節(jié)點發(fā)送至服務(wù)提供節(jié)點。
在本實施例中,服務(wù)調(diào)用裝置500的請求發(fā)送單元501、信息接收單元502的具體處理可以參考圖3對應(yīng)實施例中的步驟301、步驟32,這里不再贅述。
下面參考圖6,其示出了適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機系統(tǒng)600的結(jié)構(gòu)示意圖。
如圖6所示,計算機系統(tǒng)600包括中央處理單元(cpu)601,其可以根據(jù)存儲在只讀存儲器(rom)602中的程序或者從存儲部分608加載到隨機訪問存儲器(ram)603中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚怼T趓am603中,還存儲有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。cpu601、rom602以及ram603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
以下部件連接至i/o接口605:包括鍵盤、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器610也根據(jù)需要連接至i/o接口605。可拆卸介質(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器610上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分608。
特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括有形地包含在機器可讀介質(zhì)上的計算機程序,所述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于 實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括請求接收單元、發(fā)送單元、信息接收單元和執(zhí)行單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,請求接收單元還可以被描述為“接收服務(wù)調(diào)用節(jié)點發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請求的單元”。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質(zhì),該非易失性計算機存儲介質(zhì)可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質(zhì);也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質(zhì)。上述非易失性計算機存儲介質(zhì)存儲有一個或者多個程序,當(dāng)所述一個或者多個程序被一個設(shè)備執(zhí)行時,使得所述設(shè)備:接收服務(wù)調(diào)用節(jié)點發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請求,其中所述票據(jù)是預(yù)先對客戶端進行身份驗證并在驗證通過后生成的票據(jù),且所述票據(jù)同時存儲在認證節(jié)點和所述服務(wù)調(diào)用節(jié)點中;將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點,以使所述認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成認證結(jié)果信息;接收所述認證節(jié)點返回的所述認證結(jié)果信息;在所述認證結(jié)果信息指示認證通過時,執(zhí)行所述服務(wù)調(diào)用請求所請求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至所述服務(wù)調(diào)用節(jié)點?;蛘?,上述非易失性計算機存儲介質(zhì)存儲有一個或者多個程序,當(dāng)所述一個或者多個程序被一個設(shè)備執(zhí)行時,使得所述設(shè)備:向服務(wù)提供節(jié)點發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請求,其中所述票據(jù)是對客戶端進行身份驗證并驗證通過后生成的票據(jù),且所述票據(jù)同時存儲在認證節(jié)點和本機中;接收所述服務(wù)提供 節(jié)點在認證結(jié)果信息指示認證通過時、執(zhí)行所述服務(wù)調(diào)用請求所請求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,所述認證結(jié)果信息是所述服務(wù)提供節(jié)點將所述服務(wù)調(diào)用請求中的票據(jù)發(fā)送至所述認證節(jié)點后、由所述認證節(jié)點使用所存儲的票據(jù)對所接收的票據(jù)進行認證而生成的認證結(jié)果信息,且所述認證結(jié)果信息由所述認證節(jié)點發(fā)送至所述服務(wù)提供節(jié)點。
以上描述僅為本申請的較佳實施例以及對所運用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進行互相替換而形成的技術(shù)方案。