專利名稱:Web服務安全訪問控制方法、裝置及系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于計算機技術領域,尤其涉及一種Web服務安全訪問控制方法、裝置及系統(tǒng)。
背景技術:
Web服務(Web服務)的主要目標是跨平臺的可互操作性。為了達到這一目標,Web 服務主要是基于XML (可擴展標記語言)、XSD (XML Schema)等獨立于平臺、獨立于軟件供應商的標準,因此,Web服務具有應用程序集成,以及軟件和數(shù)據(jù)重用等優(yōu)點。目前,用戶進行Web服務的訪問時,訪問控制策略是將身份信息作為Web服務的接口參數(shù),直接傳輸給Web服務,由Web服務自身進行驗證,使得用戶身份信息直接暴露,降低了系統(tǒng)的安全性,增加了 Web服務系統(tǒng)的復雜性和維護成本。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種Web服務安全訪問控制方法、裝置及系統(tǒng),旨在解決由于訪問Web服務(Web Service)時,訪問控制策略是將身份信息作為Web服務的接口參數(shù),直接傳輸給Web服務,使得用戶身份信息直接暴露,導致系統(tǒng)安全性降低,系統(tǒng)維護困難的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種Web服務安全訪問控制方法,所述方法包括下述步驟提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;將所述外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明實施例的另一目的在于提供一種Web服務安全訪問控制裝置,所述裝置包括會話標識提取單元,用于提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;上下文信息獲取單元,用于當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識提取單元提取的會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;以及上下文信息發(fā)送單元,用于將所述上下文信息獲取單元獲取的外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明實施例的另一目的在于提供一種包括Web服務安全訪問控制裝置的ERP系統(tǒng),所述Web服務安全訪問控制裝置包括會話標識提取單元,用于提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;上下文信息獲取單元,用于當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識提取單元提取的會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;以及上下文信息發(fā)送單元,用于將所述上下文信息獲取單元獲取的外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明實施例通過在接收到Web服務訪問請求信息時,提取Web服務訪問請求信息中的會話標識,當檢索到會話標識時,獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息,將該上下文信息發(fā)送給處理Web服務訪問請求信息的ERP系統(tǒng),克服了訪問Web服務時,將身份信息作為Web服務的接口參數(shù),直接傳輸給Web服務,使得外部系統(tǒng)身份信息直接暴露, 導致系統(tǒng)安全性降低,系統(tǒng)維護困難的問題,提高了提供Web服務的ERP系統(tǒng)的安全性,同時,降低了 Web服務的復雜性和系統(tǒng)維護成本。
圖1是本發(fā)明第一實施例提供的Web服務安全訪問控制方法的實現(xiàn)流程圖;圖2是本發(fā)明第二實施例提供的Web服務安全訪問控制方法的實現(xiàn)流程圖;圖3是本發(fā)明第四實施例提供的Web服務安全訪問控制裝置的結構圖。
具體實施例方式為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例通過提取Web服務訪問請求信息中的會話標識,當檢索到會話標識時,獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息,將該上下文信息發(fā)送給處理Web服務訪問請求信息的ERP系統(tǒng),克服了訪問Web服務時,將身份信息作為Web服務的接口參數(shù), 直接傳輸給Web服務,使得外部系統(tǒng)身份信息直接暴露,導致系統(tǒng)安全性降低,系統(tǒng)維護困難的問題,提高了提供Web服務的ERP系統(tǒng)的安全性,降低了 Web服務的復雜性和系統(tǒng)維護成本。本發(fā)明實施例提供了一種Web服務安全訪問控制方法,所述方法包括下述步驟提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;將所述外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明實施例還提供了一種Web服務安全訪問控制裝置,所述裝置包括
會話標識提取單元,用于提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;上下文信息獲取單元,用于當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識提取單元提取的會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;以及上下文信息發(fā)送單元,用于將所述上下文信息獲取單元獲取的外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明實施例還提供了一種包括Web服務安全訪問控制裝置的ERP系統(tǒng),所述Web 服務安全訪問控制裝置包括會話標識提取單元,用于提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;上下文信息獲取單元,用于當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識提取單元提取的會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;以及上下文信息發(fā)送單元,用于將所述上下文信息獲取單元獲取的外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明實施例通過在接收到Web服務訪問請求信息時,提取Web服務訪問請求信息中的會話標識,當檢索到會話標識時,獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息,將該上下文信息發(fā)送給處理Web服務訪問請求信息的ERP系統(tǒng),克服了訪問Web服務時,將身份信息作為Web服務的接口參數(shù),直接傳輸給Web服務,使得外部系統(tǒng)身份信息直接暴露, 導致系統(tǒng)安全性降低,系統(tǒng)維護困難的問題,提高了提供Web服務的ERP系統(tǒng)的安全性,降低了 Web服務的復雜性和系統(tǒng)維護成本。以下結合具體實施例對本發(fā)明的具體實現(xiàn)進行詳細描述實施例一Web服務是一個應用程序,向外界暴露一個能夠通過Web進行調(diào)用的應用程序調(diào)用接口(API),供外部系統(tǒng)使用,外部系統(tǒng)只須提供Web服務服務所必須的參數(shù)即可,通過 Web服務接口接收到該參數(shù)后,Web服務對外部系統(tǒng)請求進行處理后返回處理結果。在本發(fā)明實施例中,ERP系統(tǒng)的功能都是以Web服務的形式向外部系統(tǒng)提供。圖1示出了本發(fā)明第一實施例提供的Web服務安全訪問控制方法的實現(xiàn)流程,詳述如下在步驟SlOl中,提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話(Session) 標識。在本發(fā)明實施例中,發(fā)送Web服務訪問請求信息的外部系統(tǒng)可以是用戶終端、同構的或異構的其它ERP系統(tǒng),接收到的Web服務訪問請求信息可以是簡單對象訪問協(xié)議 (SOAP)或阿帕奇可擴展交互系統(tǒng)(Axis)等消息格式,訪問請求信息的封裝格式在此不用以限制本發(fā)明。在步驟S102中,當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識時,獲取步驟SlOl提取的會話標識關聯(lián)的外部系統(tǒng)訪問上下文
fn息ο在本發(fā)明實施例中,通過在存儲會話標識的散列表、數(shù)據(jù)庫表,或其它文件中檢索會話標識,當檢索到會話標識時,獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息,該上下文信息包括會話標識對應的外部系統(tǒng)訪問歷史記錄信息、以及外部系統(tǒng)權限信息等,處理Web 服務的ERP系統(tǒng)根據(jù)該上下文信息對外部系統(tǒng)請求進行處理。當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中未檢索到會話標識時,向外部系統(tǒng)發(fā)送拒絕Web服務訪問請求服務信息。在步驟S103中,將外部系統(tǒng)訪問上下文信息發(fā)送給處理Web服務訪問請求信息的 ERP系統(tǒng),以使該ERP系統(tǒng)根據(jù)外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。在本發(fā)明實施例中,按照SOAP等通信協(xié)議對Web服務訪問請求信息和訪問Web服務的會話標識進行封裝,在接收該請求信息后,提取會話標識,獲取會話標識關聯(lián)的外部系統(tǒng)上下文信息,提供Web服務的ERP系統(tǒng)根據(jù)外部系統(tǒng)上下文信息向外部系統(tǒng)提供服務, 使得系統(tǒng)能夠在不改變提供ERP系統(tǒng)服務的Web服務接口情況下,對Web服務的訪問進行安全控制,有效地保護了外部系統(tǒng)的身份信息,提高了提供Web服務服務的ERP系統(tǒng)的安全性。實施例二 會話機制是一種服務器端的機制,服務器使用一種散列表或其它結構來保存信息。當接收到外部系統(tǒng)服務請求時,服務器首先檢查請求中是否包含了一個會話標識 (Session id),如果請求不包含會話標識,則為該外部系統(tǒng)創(chuàng)建一個會話并生成一個與該會話關聯(lián)的會話標識,會話標識將在本次響應中返回給外部系統(tǒng)。在本發(fā)明實施例,在請求Web服務服務前,Web服務提供商需要對請求服務的外部系統(tǒng)身份信息進行驗證,當驗證通過后,生成相應的會話標識,并發(fā)送給外部系統(tǒng),在本發(fā)明實施例中,采用SOAP消息格式對訪問請求信息進行封裝。圖2示出了本發(fā)明第二實施例提供的Web服務安全訪問控制方法的實現(xiàn)流程,其中,ERP系統(tǒng)以Web服務的形式以外部系統(tǒng)提供服務,詳述如下1.外部系統(tǒng)向Web服務安全訪問控制裝置發(fā)送身份信息。2. Web服務安全訪問控制裝置對外部系統(tǒng)身份信息進行驗證,當驗證通過時,生成本次訪問Web服務的會話標識,保存所述會話標識。在本發(fā)明實施例中,Web服務安全訪問控制裝置也可以提供一個Web服務形式的身份信息驗證服務。在本發(fā)明實施例中,還需將會話標識關聯(lián)的外部系統(tǒng)訪問信息保存到外部系統(tǒng)訪問上下文信息中,以便處理外部系統(tǒng)Web服務請求的ERP系統(tǒng)根據(jù)外部系統(tǒng)訪問上下文信息對請求進行處理。3. Web服務安全訪問控制裝置將生成的會話標識發(fā)送給外部系統(tǒng)。4.外部系統(tǒng)將會話標識封裝到Web服務訪問請求的SOAP消息中。5.外部系統(tǒng)將封裝Web服務訪問請求的SOAP消息發(fā)送給Web服務安全訪問控制
直ο
6. Web服務安全訪問控制裝置提取Web服務訪問請求信息中的會話標識。7. Web服務安全訪問控制裝置當檢索到會話標識時,獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息。8. Web服務安全訪問控制裝置將外部系統(tǒng)訪問上下文信息發(fā)送給處理Web服務訪問請求信息的ERP系統(tǒng)。9. ERP系統(tǒng)根據(jù)外部系統(tǒng)訪問上下文信息,對接收的Web服務訪問請求進行處理。10. ERP系統(tǒng)向外部系統(tǒng)發(fā)送Web服務結果。在本發(fā)明實施例中,外部系統(tǒng)通過SOAP協(xié)議與提供Web服務的Web服務安全訪問控制裝置、以及ERP系統(tǒng)進行通信,在協(xié)議中封裝會話標識,通過Web服務安全訪問控制裝置對會話標識進行認證驗證,從而在對提供Web服務的ERP系統(tǒng)進行安全控制時,無須改變現(xiàn)有Web服務的接口,減少了系統(tǒng)維護和擴展的工作量以及成本。實施例三在本發(fā)明實施例中,當外部系統(tǒng)通過Web服務安全訪問控制裝置請求ERP系統(tǒng)提供的Web服務時,無論是否為同一外部系統(tǒng),Web服務安全訪問控制裝置都會分配與上一次登錄不同的會話標識給外部系統(tǒng),從而保證系統(tǒng)的安全性。實施例四在本發(fā)明實施例中,當外部系統(tǒng)登錄ERP系統(tǒng)后,超過預設時間未請求Web服務時,外部系統(tǒng)的登錄信息將被注銷,從而減少非活動用戶占用Web服務提供系統(tǒng)的資源,提高Web服務提供系統(tǒng)的資源利用率。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中, 所述的存儲介質(zhì),如ROM/RAM、磁盤、光盤等。實施例四圖3示出了本發(fā)明第四實施例提供的Web服務安全訪問控制裝置的結構,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。該Web服務安全訪問控制裝置可以用于ERP系統(tǒng)中,可以是運行于ERP內(nèi)的軟件單元,也可以作為獨立的掛件集成到ERP系統(tǒng)中,其中身份信息驗證單元31接收外部系統(tǒng)輸入的身份信息,對身份信息進行驗證;當身份信息驗證單元31的身份信息驗證通過時,會話標識發(fā)送單元32生成本次訪問Web服務的會話標識,保存會話標識,并將會話標識發(fā)送給外部系統(tǒng)。會話標識提取單元33提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識; 當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到會話標識提取單元33提取的會話標識時,上下文信息獲取單元34獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;上下文信息發(fā)送單元35將上下文信息獲取單元34獲取的外部系統(tǒng)訪問上下文信息發(fā)送給處理Web服務訪問請求信息的ERP系統(tǒng),以使該ERP系統(tǒng)根據(jù)外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。上述僅為本發(fā)明的系統(tǒng)實施例,其各單元的功能如上述方法實施例所述,在此不再贅述,但不用以限制本發(fā)明。本發(fā)明實施例通過在接收到Web服務訪問請求信息時,提取Web服務訪問請求信
7息中的會話標識,當檢索到會話標識時,獲取會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息,將外部系統(tǒng)訪問上下文信息發(fā)送給處理Web服務訪問請求信息的ERP系統(tǒng),克服了訪問Web 服務時,將身份信息作為Web服務的接口參數(shù),直接傳輸給Web服務,使得外部系統(tǒng)身份信息直接暴露,導致系統(tǒng)安全性降低,系統(tǒng)維護困難的問題,提高了提供Web服務的ERP系統(tǒng)的安全性,降低了系統(tǒng)的維護成本。 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種Web服務安全訪問控制方法,其特征在于,所述方法包括下述步驟提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;將所述外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng), 以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。
2.如權利要求1所述的方法,其特征在于,所述方法還包括下述步驟當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中未檢索到所述會話標識時,拒絕外部系統(tǒng)發(fā)送的Web服務訪問請求。
3.如權利要求1所述的方法,其特征在于,所述Web服務訪問請求信息按照SOAP消息的格式進行封裝。
4.如權利要求1所述的方法,其特征在于,所述外部系統(tǒng)訪問上下文信息為會話標識對應的外部系統(tǒng)訪問歷史記錄信息、以及外部系統(tǒng)權限信息。
5.如權利要求1所述的方法,其特征在于,所述提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識的步驟之前,所述方法還包括下述步驟接收外部系統(tǒng)輸入的身份信息,對所述身份信息進行驗證;當所述身份信息驗證通過時,生成本次訪問Web服務的會話標識,保存所述會話標識, 并將會話標識發(fā)送給外部系統(tǒng)。
6.如權利要求5所述的方法,其特征在于,所述方法還包括下述步驟將所述會話標識關聯(lián)的外部系統(tǒng)訪問信息保存到上下文信息中。
7.—種Web服務安全訪問控制裝置,其特征在于,所述裝置包括會話標識提取單元,用于提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;上下文信息獲取單元,用于當從存儲的會話標識和外部系統(tǒng)訪問上下文信息之間的關聯(lián)關系中檢索到所述會話標識提取單元提取的會話標識時,獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;以及上下文信息發(fā)送單元,用于將所述上下文信息獲取單元獲取的外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。
8.如權利要求7所述的裝置,其特征在于,所述裝置還包括身份信息驗證單元,用于接收外部系統(tǒng)輸入的身份信息,對所述身份信息進行驗證;以及會話標識發(fā)送單元,用于當所述身份信息驗證單元的身份信息驗證通過時,生成本次訪問Web服務的會話標識,保存所述會話標識,并將會話標識發(fā)送給外部系統(tǒng)。
9.如權利要求8所述的裝置,其特征在于,所述裝置還包括訪問信息保存單元,用于將會話標識關聯(lián)的外部系統(tǒng)訪問信息保存到上下文信息中。
10.一種ERP系統(tǒng),其特征在于,所述系統(tǒng)包括所述權利要求7至9任一所述的Web服務安全訪問控制裝置。
全文摘要
本發(fā)明適用于計算機技術領域,提供了一種Web服務安全訪問控制方法、裝置及系統(tǒng),所述方法包括提取外部系統(tǒng)發(fā)送的Web服務訪問請求信息中的會話標識;獲取所述會話標識關聯(lián)的外部系統(tǒng)訪問上下文信息;將所述外部系統(tǒng)訪問上下文信息發(fā)送給處理所述Web服務訪問請求信息的ERP系統(tǒng),以使所述ERP系統(tǒng)根據(jù)所述外部系統(tǒng)訪問上下文信息對Web服務訪問請求進行處理,并輸出Web服務結果。本發(fā)明克服了訪問Web服務時,將身份信息作為接口參數(shù),直接傳輸給每一個請求的Web服務,外部系統(tǒng)身份信息直接暴露的問題,提高了提供Web服務的ERP系統(tǒng)的安全性,降低了提供Web服務的系統(tǒng)維護成本。
文檔編號H04L29/06GK102480475SQ20101056586
公開日2012年5月30日 申請日期2010年11月30日 優(yōu)先權日2010年11月30日
發(fā)明者劉兵 申請人:金蝶軟件(中國)有限公司