專利名稱:應用間通信的訪問控制方法、應用進程管理器、在線應用平臺的制作方法
技術領域:
本發明涉及在線應用平臺技木,尤其涉及在線應用平臺上應用間通信的訪問控制方法、應用進程管理器及在線應用平臺。
背景技術:
傳統的應用間通信時的訪問控制技術有以下幾種方案I :基于用戶名和密碼機制
當某應用需要代表用戶使用另ー應用提供的服務時,要求用戶提供其在目標應用的用戶名及密碼,把用戶名和密碼作為請求的一部分投遞到目標應用。目標應用驗證用戶名及密碼,以決定是否提供服務給調用方。方案2 :基于OAUTH機制當某應用需要代表用戶使用另ー應用提供的服務時,首先會跳轉到目標應用網站,用戶在目標應用網站輸入用戶名及密碼,目標網站驗證通過后,會列舉出本次請求訪問的API信息,用戶確認后,目標網站生成TOKEN并跳轉回調用方網站。調用方下次使用TOKEN直接訪問有權限的服務。上述方案I會直接泄露其它應用的用戶名和密碼,存在極大的安全隱患。方案2要求瀏覽器的多次跳轉,用戶體驗極差,而且處理不了同時調用多個不同應用API的需求。
發明內容
本發明提供一種在線應用平臺上應用間通信的訪問控制方法、應用進程管理器及在線應用平臺,能否解決應用間訪問控制時安全隱患問題,并提高用戶體驗。本發明的在線應用平臺上應用間通信的訪問控制方法,包括步驟當發送方應用對接收方應用進行訪問時,在線應用平臺的客戶端接收發送方應用的訪問請求,進行是否授權的處理,并生成授權結果信息返回所述發送方應用;所述授權結果信息包括允許訪問信息和拒絕訪問信息。本發明的在線應用平臺的應用進程管理器,用于實現在線應用平臺內應用間的通信,所述應用進程管理器位于在線應用平臺的客戶端,包括發送進程消息接ロ,用于收發信息,所述信息包括發送方應用的訪問請求以及授權結果信息,所述授權結果信息包括允許訪問信息和拒絕訪問信息;訪問控制裝置,用于對所述訪問請求進行是否授權的處理,生成授權結果信息。本發明的在線應用平臺,包括多個應用和上述的應用進程管理器。由于本發明通過在線應用平臺對應用的訪問控制進行統ー處理,使用本發明時用戶名和密碼不會多次輸入,因此根本上避免了泄露問題;進行訪問控制的過程中不需要進行瀏覽器的跳轉;可支持同時調用多個應用的API ;應用提供方和調用方均無須提供額外功能以支持方案的訪問控制。
圖I為在線應用平臺上應用間通信的訪問控制方法流程圖;圖2為ー個實施例中應用進程管理器的原理框圖。
具體實施例方式本發明提供的在線應用平臺上應用間通信的訪問控制方法,通過在線應用平臺對應用進行訪問控制,過程如圖I所示 當發送方應用對接收方應用進行訪問時,發送方應用向在線應用平臺的客戶端發送訪問請求(S101),要求在線應用平臺的客戶端授權該發送應用與接收方應用進行通信;在線應用平臺的客戶端接收發送方應用的訪問請求,進行是否授權的處理,并生成授權結果信息返回所述發送方應用(S102);所述授權結果信息包括允許訪問信息和拒絕訪問信息;如果發送方應用接收到允許訪問信息,則接下來就通過該允許訪問信息與接收方應用進行通信(S103),如果發送方應用收到的是拒絕訪問信息,則無權與接收方進行通信。作為ー個實施例,可以預先協商好可以授權的應用名単,并存儲在可授權應用列表中,在執行步驟S102時,在預先存儲的可授權應用列表中查找所述發送方應用,如果找至IJ,則生成所述允許訪問信息。另外,作為ー個實施例,還可以預先協商好不可授權的應用名単,并存儲在不可授權應用列表中,在執行步驟S102時,如果在預先存儲的不可授權應用列表中找到所述發送方應用,則生成拒絕訪問信息。值得指出的是,預先保存授權應用列表或不可授權應用列表中的一種還是同時保存兩種列表可以由用戶根據自己的需求確定。作為ー種優選實施例,如果在所保存的列表中未找到,則提示用戶是否對發送方應用授權,井根據用戶的返回結果將所述發送方應用加入已保存的所述可授權應用列表或不可授權應用列表,并生成所述授權結果信息。作為ー個優選實施例,還可以預先保存ACL(訪問控制列表(Access ControlList, ACL),作為ー個實施例,該ACL表中可以預先存儲請求方、接收方、服務名以及訪問權限的相關數據,步驟S102中可以根據ACL表進行授權處理,生成授權結果信息,例如,如果ACL表中存儲以下信息請求方為A、接收方為B、服務名為打印、訪問權限為允許,則當A請求B的打印服務時,即可生成允許授權信息。通過ACL表的引入,帶來了以下好處(1)減少訪問頻率,提高訪問效率。現有的不同應用間的毎次通信,都需要進行授權訪問,即使對于同一個服務的調用,不管通信多少次,就需要進行多少次授權。通過ACL表,因已存在授權信息,不需要進行每次的授權訪問,減少訪問頻率,對于同一個服務的調用,只需進行一次授權,保存在ACL中,以后都不需要進行授權,可直接調用,提高訪問效率。(2)同時訪問多服務時避免多次提示。目前,一個應用需要訪問多個服務時,就需要對每個服務進行授權提示,進行多次操作,通過ACL表,不需要進行任何提示,同時可以一次性對多個服務請求訪問進行授權操作,避免多次提示和多次授權操作。(3)可以嵌套訪問。目前,多個應用進行嵌套訪問,當超過兩次調用訪問時,需要進行兩次以上的訪問跳轉,進行授權操作,因此,無法重現第一次調用訪問時的上下文環境,即無法實現超過兩層調用訪問的嵌套訪問。通過ACL表,在進行嵌套訪問時,由于每層訪問,可以直接進行授權操作,不需要進行訪問跳轉,即保留了每次調用訪問時的上下文環境,從而實現嵌套訪問。由于本發明預先保存了是否可以對某個應用授權或不授權的列表,通過區分受限資源和非受限資源,以及ACL,引入黒白名單,因此本發明每個應用僅需一次授權判斷,減少了訪問控制干預頻度,增強了用戶體驗。
申請人:在申請號為201210094195. 1,發明名稱為《在線應用平臺的進程通信方法、客戶端、應用進程管理器》的專利申請中提供了在線應用平臺上應用間通信的實現方案,作為ー個優選實施例,本發明可以通過這種應用間通信的方式實現對應用的訪問控制,過程如下當在線應用平臺上啟動某個應用時,在線應用平臺的客戶端按照預定的通信協議創建應用進程;并記錄該應用可處理的消息類型;應用進程是指該應用在客戶端運行時的存在形態,包括應用進程ID、應用名稱、上下文空間、消息隊列、可執行程序路徑;消息隊列為在線應用平臺與該應用進程進行通信的載體。在線應用平臺的客戶端的授權結果信息可以通過發送方應用所對應的消息隊列發送至發送方應用;發送方應用監控消息隊列中的消息,如果授權結果信息為允許訪問信息,則開始與接收方應用進行通信首先構造消息并發送至在線應用平臺的客戶端,消息包括根據預定通信協議定義的應用名稱、消息類型、消息體;客戶端將收到的消息投遞至接收方應用所對應的應用進程的消息隊列中,接收方應用的應用進程監控消息隊列中的消息,并進行處理;當發送方應用或接收方應用退出時,在線平臺的客戶端銷毀所述應用進程。為了能夠更加清晰的理解本發明,以下列舉ー個本發明的應用實例應用A作為請求方需要與應用B進行訪問,此時應用B為接收方。首先,在線應用平臺的客戶端創建應用A的進程a,應用B的進程b,應用A請求調用應用B的服務C,此時應用A構造請求消息,包括根據預定通信協議定義的應用名稱B、消息類型C、消息體,并發送至在線應用平臺的客戶端,客戶端先檢查應用B的黒白名單中是否有應用A,如果在白名單中,即授權結果為允許,則進行通信,如果在黑名單中,即授權結果為拒絕訪問,則發送拒絕訪問消息給A。如果應用B的黒白名單中均不存在應用A,則在ACL表中,進行搜索,是否存在應用B將服務C授權給應用A的記錄,如果存在,且授權記錄為允許,則進行通信,如果不存在,則進行授權提示,用戶授權為允許,則進行此應用間通信,用戶授權為拒絕,則禁止此應用間通信。此時,若應用A需要同時訪問應用D、應用E等多個應用的服務時,將會統ー在ー個提示中,進行授權操作,避免多次提示授權。在進行提示授權操作后,將此次授權的結果記錄在ACL表中,以便于下次的直接授權判斷。達到每個應用僅需一次授權判斷,減少了訪問控制干預頻度,增強了用戶體驗。與上述在線應用平臺上應用間通信的訪問控制方法相對應,本發明還提供了ー種在線應用平臺的應用進程管理器,用于實現在線應用平臺內應用間的通信,所述應用進程管理器位于在線應用平臺的客戶端,應用進程管理器包括發送進程消息接口和訪問控制裝置。發送進程消息接ロ是與發送方應用或發送方應用通信的接ロ,發送方應用將訪問請求發送至發送進程消息接ロ,訪問控制裝置對訪問請求進行是否授權的處理,生成授權結果信息,并通過發送進程消息接ロ發送給發送方應用。
作為ー個實施例,應用進程管理器還包括第一存儲裝置,預先存儲可授權應用列表;訪問控制裝置在可授權應用列表中查找發送方應用,如果找到,則生成允許訪問信息。另外,作為ー個實施例,應用進程管理器還可以包括第二存儲裝置,預先存儲不可授權應用列表;訪問控制裝置如果在第二存儲裝置中找到發送方應用,則生成拒絕訪問信
o作為ー個優選實施例,所述應用進程管理器還包括第三存儲裝置,用于存儲ACL表,所述ACL表為訪問控制列表,用于存儲請求方應用標識、接收方應用標識、服務名、訪問權限;所述訪問控制裝置在預先存儲的ACL表中查找所述發送方應用的服務,如果找到,則生成所述允許訪問信息。 圖2為包含三種存儲裝置的原理框圖。用戶可以根據需求決定在實現應用進程管理器時保存哪種列表。作為ー個優選實施例,訪問控制裝置如果在所保存的列表里未找到發送方應用,則提示用戶是否對發送方應用授權,井根據用戶的返回結果生成授權結果信息以及將發送方應用加入第一存儲裝置或第二存儲裝置。同樣,應用進程管理器還包括實現申請號為201210094195. I的相應模塊當啟動應用吋,進程創建接ロ按照預定的通信協議創建應用進程;并記錄應用可處理的消息類型;發送方應用經過授權后,將消息通過發送進程消息接ロ發送至接收方應用的消息隊列中,接收方應用監控消息隊列中的消息,并進行處理,進程銷毀接ロ當所述發送方或接收方應用退出時銷毀所述發送方或接收方應用的應用進程。上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受上述實施例的限制,其他任何未背離本發明的精神實質和原理下所作的修改、修飾、替代、組合、簡化,均應為等效的置換方式,都應包含在本發明的保護范圍之內。
權利要求
1.一種在線應用平臺上應用間通信的訪問控制方法,其特征在于,包括步驟 當發送方應用對接收方應用進行訪問時,在線應用平臺的客戶端接收發送方應用的訪問請求,進行是否授權的處理,并生成授權結果信息返回所述發送方應用;所述授權結果信息包括允許訪問信息和拒絕訪問信息。
2.根據權利要求I所述的訪問控制方法,其特征在于,所述在線應用平臺的客戶端進行是否授權的處理的過程包括步驟 在預先存儲的可授權應用列表中查找所述發送方應用,如果找到,則生成所述允許訪問信息。
3.根據權利要求2所述的訪問控制方法,其特征在于,所述在線應用平臺的客戶端進行是否授權的處理的過程還包括步驟 如果在預先存儲的不可授權應用列表中找到所述發送方應用,則生成拒絕訪問信息; 如果未找到,則提示用戶是否對所述發送方應用授權,井根據用戶的返回結果將所述發送方應用加入所述可授權應用列表或不可授權應用列表,并生成所述授權結果信息。
4.根據權利要求I所述的訪問控制方法,其特征在于,所述在線應用平臺的客戶端進行是否授權的處理的過程包括步驟 在預先存儲的ACL表中查找所述發送方應用的服務,如果找到,則生成所述允許訪問信息,所述ACL表為訪問控制列表,用于存儲對所述應用的服務的訪問權限。
5.根據權利要求I至5中任一項所述的訪問控制方法,其特征在于,所述在線應用平臺的客戶端接收發送方應用的訪問請求之前還包括步驟 當啟動應用時,所述應用包括發送方應用或接收方應用,在線應用平臺的客戶端按照預定的通信協議創建應用進程;并記錄所述應用可處理的消息類型;所述應用進程為所述應用在所述客戶端運行時的存在形態,包括應用進程ID、應用名稱、上下文空間、消息隊列、可執行程序路徑;所述消息隊列為在線應用平臺與所述應用進程進行通信的載體;所述在線應用平臺的客戶端的授權結果信息通過所述發送方應用所對應的消息隊列發送至所述發送方應用; 所述在線應用平臺的客戶端發送所述授權結果信息后還包括步驟 如果所述授權結果信息為允許訪問信息,則接收所述發送方應用構造的消息,所述消息包括根據預定通信協議定義的應用名稱、消息類型、消息體; 將所述消息投遞至接收方應用所對應的應用進程的消息隊列中,以便所述接收方應用的應用進程監控消息隊列中的消息,并進行處理; 當所述發送方應用或接收方應用退出時,所述在線平臺的客戶端銷毀所述應用進程。
6.一種在線應用平臺的應用進程管理器,用于實現在線應用平臺內應用間的通信,其特征在于,所述應用進程管理器位于在線應用平臺的客戶端,包括 發送進程消息接ロ,用于收發信息,所述信息包括發送方應用的訪問請求以及授權結果信息,所述授權結果信息包括允許訪問信息和拒絕訪問信息; 訪問控制裝置,用于對所述訪問請求進行是否授權的處理,生成授權結果信息。
7.根據權利要求6所述的應用進程管理器,其特征在干,所述應用進程管理器還包括第一存儲裝置,用于存儲可授權應用列表;第二存儲裝置,用于存儲不可授權應用列表; 所述訪問控制裝置在所述可授權應用列表中查找所述發送方應用,如果找到,則生成允許訪問信息;如果在所述第二存儲裝置中找到所述發送方應用,則生成拒絕訪問信息;如果未找到,則提示用戶是否對所述發送方應用授權,井根據用戶的返回結果生成授權結果信息以及將所述發送方應用加入所述第一存儲裝置或第二存儲裝置。
8.根據權利要求6所述的應用進程管理器,其特征在干,所述應用進程管理器還包括第三存儲裝置,用于存儲ACL表,所述ACL表為訪問控制列表,用于存儲請求方應用標識、接收方應用標識、服務名、訪問權限; 所述訪問控制裝置在預先存儲的ACL表中查找所述發送方應用的服務,如果找到,則生成所述允許訪問信息。
9.根據權利要求6至8中任一項所述的應用進程管理器,其特征在于,所述應用進程管理器還包括 進程創建接ロ,用于當啟動應用時,所述應用包括發送方應用或接收方應用,按照預定的通信協議創建應用進程;并記錄所述應用可處理的消息類型;所述應用進程為所述應用在所述客戶端運行時的存在形態,包括應用進程ID、應用名稱、上下文空間、消息隊列、可執行程序路徑;所述消息隊列為在線應用平臺與所述應用進程進行通信的載體; 所述發送進程消息接ロ將所述信息通過發送方應用所對應的消息隊列發送至接收方應用,所述消息包括根據預定通信協議定義的應用名稱、消息類型、消息體; 進程銷毀接ロ,用于當所述發送方或接收方應用退出時銷毀所述發送方或接收方應用的應用進程。
10.一種在線應用平臺,其特征在于,包括多個應用和權利要求6至權利要求9中任一項所述的應用進程管理器。
全文摘要
本發明的在線應用平臺上應用間通信的訪問控制方法、應用進程管理器,當發送方應用對接收方應用進行訪問時,在線應用平臺的客戶端接收發送方應用的訪問請求,進行是否授權的處理,并生成授權結果信息返回所述發送方應用;所述授權結果信息包括允許訪問信息和拒絕訪問信息。本發明的在線應用平臺,包括多個應用和上述的應用進程管理器。由于本發明通過在線應用平臺對應用的訪問控制進行統一處理,使用本發明時用戶名和密碼不會多次輸入,因此根本上避免了泄露問題;進行訪問控制的過程中不需要進行瀏覽器的跳轉;可支持同時調用多個應用的API;應用提供方和調用方均無須提供額外功能以支持方案的訪問控制。
文檔編號H04L29/06GK102647429SQ20121013409
公開日2012年8月22日 申請日期2012年4月28日 優先權日2012年4月28日
發明者徐軍, 薛珂 申請人:杭州格暢科技有限公司