两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

插件權(quán)限控制方法及裝置、插件系統(tǒng)與流程

文檔序號(hào):11520138閱讀:377來源:國知局
插件權(quán)限控制方法及裝置、插件系統(tǒng)與流程

本申請(qǐng)涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及插件權(quán)限控制方法及裝置、插件系統(tǒng)。



背景技術(shù):

隨著應(yīng)用(application,app)功能的豐富,很多大型app都使用了大量插件,這些插件可以擴(kuò)展或加強(qiáng)其所屬的app的功能,比如,瀏覽器功能、多媒體處理功能等。

在現(xiàn)有技術(shù)中,當(dāng)app使用的插件中存在漏洞時(shí),可導(dǎo)致整個(gè)app也存在該漏洞,則可能對(duì)該app造成安全威脅。另外,當(dāng)插件本身有較大版本更新時(shí),其所屬的app往往還很難快速的進(jìn)行版本更新迭代,這也就導(dǎo)致了app所使用的插件中可能存在很多歷史遺留安全問題。

因此,急需一種有效方案來解決app使用插件而引入的安全威脅。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)實(shí)施例提供插件權(quán)限控制方法及裝置、插件系統(tǒng),用以解決現(xiàn)有技術(shù)中app使用插件而引入安全威脅的問題。

為解決上述技術(shù)問題,本申請(qǐng)實(shí)施例是這樣實(shí)現(xiàn)的:

本申請(qǐng)實(shí)施例提供的一種插件權(quán)限控制方法,所述方法應(yīng)用于應(yīng)用app,所述app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱,所述方法包括:

所述插件權(quán)限控制器接收所述插件沙箱發(fā)送的應(yīng)用程序編程接口api調(diào)用請(qǐng)求,其中,所述api調(diào)用請(qǐng)求是所述插件沙箱中插件的api調(diào)用請(qǐng)求,由所述插件沙箱攔截得到;

所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

本申請(qǐng)實(shí)施例提供的一種插件權(quán)限控制裝置,所述裝置應(yīng)用于應(yīng)用app,所述app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱,所述裝置位于所述插件權(quán)限控制器,包括:

接收模塊,接收所述插件沙箱發(fā)送的應(yīng)用程序編程接口api調(diào)用請(qǐng)求,其中,所述api調(diào)用請(qǐng)求是所述插件沙箱中插件的api調(diào)用請(qǐng)求,由所述插件沙箱攔截得到;

控制模塊,確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

本申請(qǐng)實(shí)施例提供的另一種插件權(quán)限控制方法,所述方法應(yīng)用于應(yīng)用app,所述app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱,所述方法包括:

所述插件沙箱攔截所述插件沙箱中插件的應(yīng)用程序編程接口api調(diào)用請(qǐng)求;

所述插件沙箱將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器,以便于所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

本申請(qǐng)實(shí)施例提供的另一種插件權(quán)限控制裝置,所述裝置應(yīng)用于應(yīng)用app,所述app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱,所述裝置位于所述插件沙箱,包括:

攔截模塊,攔截所述插件沙箱中插件的應(yīng)用程序編程接口api調(diào)用請(qǐng)求;

發(fā)送模塊,將所述攔截模塊攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器,以便于所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

本申請(qǐng)實(shí)施例提供的一種插件系統(tǒng),所述插件系統(tǒng)應(yīng)用于應(yīng)用app,包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱;

所述插件沙箱,攔截所述插件沙箱中插件的應(yīng)用程序編程接口api調(diào)用請(qǐng)求,并將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器;

所述插件權(quán)限控制器,確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:可以實(shí)現(xiàn)app本身的權(quán)限與app的插件的權(quán)限相互隔離,即便app使用了存在漏洞的插件,也可以使插件無法獲取到整個(gè)app的權(quán)限,可以降低插件的漏洞對(duì)app本身的影響,可以減少app使用插件而引入的安全威脅,因此,可以部分或全部地解決現(xiàn)有技術(shù)中的問題。

附圖說明

為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本申請(qǐng)實(shí)施例提供的一種插件系統(tǒng)的架構(gòu)示意圖;

圖2為本申請(qǐng)實(shí)施例提供的圖1中的插件系統(tǒng)的一種詳細(xì)架構(gòu)示意圖;

圖3為本申請(qǐng)實(shí)施例提供的一種插件權(quán)限控制方法的流程示意圖;

圖4為本申請(qǐng)實(shí)施例提供的另一種插件權(quán)限控制方法的流程示意圖;

圖5為本申請(qǐng)實(shí)施例提供的對(duì)應(yīng)于圖3的一種插件權(quán)限控制裝置的結(jié)構(gòu)示意圖;

圖6為本申請(qǐng)實(shí)施例提供的對(duì)應(yīng)于圖3的一種插件權(quán)限控制裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

本申請(qǐng)實(shí)施例提供插件權(quán)限控制方法及裝置、插件系統(tǒng)。

為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。

圖1為本申請(qǐng)實(shí)施例提供的一種插件系統(tǒng)的架構(gòu)示意圖,所述插件系統(tǒng)應(yīng)用于應(yīng)用app,包括插件權(quán)限控制器101、一個(gè)或多個(gè)插件沙箱102;

所述插件沙箱101,攔截所述插件沙箱中插件的應(yīng)用程序編程接口(applicationprogramminginterface,api)調(diào)用,并將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器;

所述插件權(quán)限控制器102,確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

簡明起見,以下可以省略插件沙箱101和插件權(quán)限控制器102的數(shù)字標(biāo)號(hào)。

在本申請(qǐng)實(shí)施例中,每個(gè)插件沙箱可以對(duì)應(yīng)于app的一個(gè)或多個(gè)插件,為了減少插件之間的相互影響,每個(gè)插件沙箱優(yōu)選地可以對(duì)應(yīng)于app的一個(gè)插件。

以電子支付app為例,電子支付app可以有諸如商品推薦插件、社交評(píng)論插件、比價(jià)插件等。在現(xiàn)有技術(shù)中,這些插件的權(quán)限即為電子支付app本身的權(quán)限,插件針對(duì)app本身可以不受限制地進(jìn)行api調(diào)用,插件針對(duì)app所在系統(tǒng)可以僅在app的權(quán)限的限制下進(jìn)行api調(diào)用,比如,商品推薦插件的正常功能是進(jìn)行商品推薦;但是,也有可能具有竊取用戶支付相關(guān)敏感數(shù)據(jù)的惡意功能(這些功能都是通過插件進(jìn)行的api調(diào)用實(shí)現(xiàn)的),或者,雖然商品推薦插件本身不具有惡意功能,但若商品推薦插件存在漏洞,也可能使得第三方惡意程序通過該漏洞竊取用戶支付相關(guān)敏感數(shù)據(jù),由此導(dǎo)致背景技術(shù)中提到的問題。

在本申請(qǐng)實(shí)施例中,插件可以在其對(duì)應(yīng)的插件沙箱中安全運(yùn)行,而且基于插件權(quán)限控制器的權(quán)限控制,插件可以在符合一定安全策略的前提下,針對(duì)app本身或?qū)pp所在系統(tǒng)的進(jìn)行api調(diào)用(某些api調(diào)用請(qǐng)求可能被拒絕),在這種情況下,插件的權(quán)限與app本身的權(quán)限是相互隔離的,因此,可以有針對(duì)性地對(duì)插件的權(quán)限進(jìn)行控制,而又不至于影響app本身的權(quán)限,從而使得app既能使用插件的正常功能,又能阻止插件可能帶來安全威脅的敏感api調(diào)用。

通過圖1的插件系統(tǒng),可以實(shí)現(xiàn)app本身的權(quán)限與app的插件的權(quán)限相互隔離,即便app使用了存在漏洞的插件,也可以使插件無法獲取到整個(gè)app的權(quán)限,可以降低插件的漏洞對(duì)app本身的影響,可以減少app使用插件而引入的安全威脅,因此,可以部分或全部地解決現(xiàn)有技術(shù)中的問題。

基于圖1的插件系統(tǒng),本申請(qǐng)實(shí)施例還提供了該插件系統(tǒng)的一些具體實(shí)施方案,以及擴(kuò)展方案,下面進(jìn)行說明。

在本申請(qǐng)實(shí)施例中,插件沙箱具有可模擬的進(jìn)程級(jí)別的粒度,則每個(gè)插件被沙箱化后,是在一個(gè)獨(dú)立的模擬進(jìn)程中運(yùn)行的,如此有利于實(shí)現(xiàn)插件與app間的權(quán)限隔離,以及插件與插件間的權(quán)限隔離。在這種情況下,插件沙箱與插件權(quán)限控制器之間是通過進(jìn)程間通信的方式進(jìn)行通信交互的?;诖?,可以對(duì)插件沙箱、插件權(quán)限控制器進(jìn)一步地細(xì)分模塊。

具體地,所述插件沙箱可以包括攔截控制器、進(jìn)程間通信第一端;所述插件權(quán)限控制器可以包括調(diào)用攔截管理器、進(jìn)程間通信第二端。

所述插件沙箱攔截所述插件沙箱中插件的api調(diào)用請(qǐng)求,并將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器,具體可以包括:所述攔截控制器攔截所述插件沙箱中插件的api調(diào)用請(qǐng)求,并通過所述進(jìn)程間通信第一端,將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器。

所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用,具體可以包括:所述進(jìn)程間通信第二端接收所述插件沙箱發(fā)送的所述api調(diào)用請(qǐng)求;所述調(diào)用攔截管理器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

在實(shí)際應(yīng)用中,進(jìn)程間通信第一端與進(jìn)程間通信第二端可以是具有從屬關(guān)系的通信端,也可以是對(duì)等的通信端。以前一種情況為例,進(jìn)程間通信第一端具體可以是進(jìn)程間通信客戶端,進(jìn)程間通信第二端具體可以是進(jìn)程間通信服務(wù)端。

在本申請(qǐng)實(shí)施例中,插件的權(quán)限并非直接是app的權(quán)限,而是需要插件權(quán)限控制器按照一定的策略分別對(duì)各插件的權(quán)限進(jìn)行控制,比如,策略中可以指定:某插件具有進(jìn)行哪些api調(diào)用的權(quán)限、某插件不具有進(jìn)行哪些api調(diào)用的權(quán)限等。

基于此,插件權(quán)限控制器中可以有負(fù)責(zé)管理所要使用的策略的模塊。

例如,所述插件權(quán)限控制器還可以包括:策略引擎管理器,設(shè)定所述調(diào)用攔截管理器確定所述插件沙箱中插件的權(quán)限時(shí)所根據(jù)的策略;在這種情況下,所述調(diào)用攔截管理器確定所述插件的權(quán)限,具體可以包括:所述調(diào)用攔截管理器根據(jù)所述策略引擎管理器設(shè)定的策略,確定所述插件的權(quán)限;其中,所述策略引擎管理器是根據(jù)所述策略引擎管理器預(yù)先接收的策略設(shè)定第一指令而設(shè)定策略的。

為了便于理解,對(duì)“策略設(shè)定第一指令”進(jìn)行說明。策略設(shè)定第一指令是直接針對(duì)策略引擎管理器下達(dá)的指令。

策略設(shè)定第一指令的具體下達(dá)方式可以有多種,列舉兩種:

第一種,用戶可以通過在app所提供的策略引擎管理器的可視界面中進(jìn)行操作,以下達(dá)策略設(shè)定第一指令,比如,該可視界面中可以提供若干可選的策略,用戶可以通過進(jìn)行在這些可選的策略中選定一項(xiàng)或多項(xiàng)策略并確認(rèn)的操作,下達(dá)策略設(shè)定第一指令,相應(yīng)地,策略引擎管理器會(huì)把用戶選定確認(rèn)的這些策略設(shè)定為要使用的策略。這種方式的優(yōu)點(diǎn)是:用戶自主控制性較好。

第二種,可以由app對(duì)應(yīng)的服務(wù)器側(cè)向用戶側(cè)的策略引擎管理器下達(dá)策略設(shè)定第一指令。這種方式的優(yōu)點(diǎn)是:無需用戶干預(yù),而是由服務(wù)器側(cè)的專業(yè)人員把控,有利于及時(shí)有效地阻止插件引入的安全威脅。

在本申請(qǐng)實(shí)施例中,所述插件權(quán)限控制器還可以包括:策略中心,包含預(yù)定的各策略;所述策略引擎管理器是根據(jù)所述策略中心包含的各策略而設(shè)定策略的,所述策略引擎管理器設(shè)定的策略包括所述各策略中的一項(xiàng)或多項(xiàng)。在實(shí)際應(yīng)用中,策略中心也可以內(nèi)置于策略引擎管理器中。

策略中心的存在使得各種可能使用的策略可以預(yù)先被整理,以備不時(shí)之需,而不是只要策略有變,就需要更新app或者從服務(wù)端獲取變更的策略,因此,有利于減輕app的處理負(fù)擔(dān)。

在本申請(qǐng)實(shí)施例中,不同的插件可能對(duì)應(yīng)于不同的權(quán)限策略,為了便于對(duì)不同的插件差異化地設(shè)定(初次設(shè)定、或后續(xù)設(shè)定變更),也可以從插件沙箱向插件權(quán)限控制器發(fā)送請(qǐng)求,以請(qǐng)求對(duì)該插件對(duì)應(yīng)的策略進(jìn)行設(shè)定。

例如,插件沙箱可以包括策略引擎客戶端,且可以將插件權(quán)限控制器的策略引擎管理器作為策略引擎客戶端的服務(wù)端。進(jìn)一步地,所述策略引擎客戶端當(dāng)接收到策略設(shè)定第二指令時(shí),根據(jù)所述策略設(shè)定第二指令,向所述策略引擎管理器發(fā)送策略設(shè)定請(qǐng)求,以使策略引擎管理器根據(jù)所述策略設(shè)定請(qǐng)求設(shè)定策略。

策略設(shè)定第二指令類似于上述的策略設(shè)定第一指令,主要區(qū)別在于:策略設(shè)定第一指令是直接針對(duì)插件權(quán)限控制器的,而策略設(shè)定第二指令是直接針對(duì)插件沙箱的?;谶@兩種指令中任一種指令對(duì)應(yīng)的策略設(shè)定方式,可以便利地進(jìn)行策略定制以及策略變更,而且對(duì)于線下或線上都是適用的。

在本申請(qǐng)實(shí)施例中,所述調(diào)用攔截管理器當(dāng)確定執(zhí)行所述api調(diào)用時(shí),根據(jù)所述插件的權(quán)限對(duì)應(yīng)的預(yù)定執(zhí)行方式,執(zhí)行所述api調(diào)用以及返回執(zhí)行結(jié)果,否則,拒絕所述api調(diào)用請(qǐng)求。

對(duì)于某些可能威脅app安全的敏感api調(diào)用的請(qǐng)求,可以通過相應(yīng)的策略限制權(quán)限,以使這些敏感api調(diào)用不會(huì)被執(zhí)行,從而有利于阻止插件引入的安全威脅。

進(jìn)一步地,對(duì)于被確定為可以執(zhí)行的api調(diào)用,也可以根據(jù)具體情況差異化地執(zhí)行,以實(shí)現(xiàn)“安全執(zhí)行”。比如,對(duì)于可信(比如,權(quán)限相對(duì)較高的)的api調(diào)用,可以直接執(zhí)行;對(duì)于部分可信(比如,權(quán)限相對(duì)較低的)的api調(diào)用,可以針對(duì)其執(zhí)行一些限制措施(比如,可以通過修改api調(diào)用參數(shù),使得該api調(diào)用涉及的app資源被重定向等)后再執(zhí)行。

進(jìn)一步地,為了避免插件的某些敏感api調(diào)用未被執(zhí)行而導(dǎo)致插件或app異常,插件沙箱還可以包括異常處理器,異常處理器可以對(duì)所述api調(diào)用未被執(zhí)行而引發(fā)的異常進(jìn)行處理,如此,有利于減少app運(yùn)行受到的影響。

根據(jù)上面的說明,更直觀地,本申請(qǐng)實(shí)施例提供了圖1中的插件系統(tǒng)的一種詳細(xì)架構(gòu)示意圖,如圖2所示。

在圖2中,插件權(quán)限控制器101可以包括:進(jìn)程間通信第一端1011、調(diào)用攔截管理器1012、策略引擎管理器1013、策略中心1014;插件沙箱102可以包括進(jìn)程間通信第二端1021、攔截控制器1022、策略引擎客戶端1023、異常處理器1024。

需要說明的是,圖2中的插件權(quán)限控制器101、插件沙箱102中各模塊之間的連接僅是一種示例,并非限定,采用其他連接方式也可以,只要能實(shí)現(xiàn)模塊之間直接或間接的通信即可。

圖1、圖2中各模塊的劃分也是示例,也可以采用其他模塊劃分方法,能夠?qū)崿F(xiàn)這些模塊的功能即可?;谕瑯拥陌l(fā)明思路,本申請(qǐng)實(shí)施例還提供了對(duì)應(yīng)的插件權(quán)限控制方法,方法主要描述上述功能,而不限定模塊的劃分,由于上面對(duì)上述功能已經(jīng)進(jìn)行詳細(xì)說明,簡明起見,下面結(jié)合圖3、圖4僅對(duì)插件權(quán)限控制方法進(jìn)行簡單說明。

圖3為本申請(qǐng)實(shí)施例提供的一種插件權(quán)限控制方法的流程示意圖。圖3的方法應(yīng)用于app,app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱。

圖3中的流程的執(zhí)行主體是插件權(quán)限控制器,主要包括以下步驟:

s301:所述插件權(quán)限控制器接收所述插件沙箱發(fā)送的api調(diào)用請(qǐng)求,其中,所述api調(diào)用請(qǐng)求是所述插件沙箱中插件的api調(diào)用請(qǐng)求,由所述插件沙箱攔截得到。

s302:所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

基于圖3的方法,本申請(qǐng)實(shí)施例還提供了該方法的一些具體實(shí)施方案,以及擴(kuò)展方案,下面進(jìn)行說明。

在本申請(qǐng)實(shí)施例中,對(duì)于步驟s301,所述插件權(quán)限控制器接收所述插件沙箱發(fā)送的api調(diào)用請(qǐng)求,具體可以包括:所述插件權(quán)限控制器通過進(jìn)程間通信,接收所述插件沙箱發(fā)送的api調(diào)用請(qǐng)求。

在本申請(qǐng)實(shí)施例中,對(duì)于步驟s302,所述插件權(quán)限控制器確定所述插件的權(quán)限,具體可以包括:所述插件權(quán)限控制器根據(jù)設(shè)定的策略,確定所述插件的權(quán)限;其中,所述設(shè)定的策略由所述插件權(quán)限控制器根據(jù)預(yù)先接收的策略設(shè)定第一指令而設(shè)定。

在本申請(qǐng)實(shí)施例中,所述插件權(quán)限控制器內(nèi)有包含預(yù)定的各策略的策略中心,所述插件權(quán)限控制器是根據(jù)所述策略中心包含的各策略而設(shè)定策略的,所述策略引擎管理器設(shè)定的策略包括所述各策略中的一項(xiàng)或多項(xiàng)。

在本申請(qǐng)實(shí)施例中,對(duì)于圖3中的流程,還可以執(zhí)行:所述插件權(quán)限控制器接收所述插件沙箱發(fā)送的策略設(shè)定請(qǐng)求,所述策略設(shè)定請(qǐng)求是所述插件沙箱根據(jù)接收到的策略設(shè)定第二指令發(fā)送的;所述插件權(quán)限控制器根據(jù)所述策略設(shè)定請(qǐng)求設(shè)定策略。

在本申請(qǐng)實(shí)施例中,對(duì)于步驟s302,若所述插件權(quán)限控制器確定執(zhí)行所述api調(diào)用后,可以執(zhí)行:所述插件權(quán)限控制器根據(jù)所述插件的權(quán)限對(duì)應(yīng)的預(yù)定執(zhí)行方式,執(zhí)行所述api調(diào)用;

若所述插件權(quán)限控制器確定不執(zhí)行所述api調(diào)用,可以執(zhí)行:所述插件權(quán)限控制器拒絕所述api調(diào)用請(qǐng)求。

圖4為本申請(qǐng)實(shí)施例提供的另一種插件權(quán)限控制方法的流程示意圖。圖4的方法應(yīng)用于app,app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱。

圖4中的流程的執(zhí)行主體是插件沙箱,主要包括以下步驟:

s401:所述插件沙箱攔截所述插件沙箱中插件的api調(diào)用請(qǐng)求。

s402:所述插件沙箱將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器,以便于所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

基于圖4的方法,本申請(qǐng)實(shí)施例還提供了該方法的一些具體實(shí)施方案,以及擴(kuò)展方案,下面進(jìn)行說明。

在本申請(qǐng)實(shí)施例中,對(duì)于步驟s402,所述插件沙箱將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器,具體可以包括:所述插件沙箱通過進(jìn)程間通信,將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器。

在本申請(qǐng)實(shí)施例中,對(duì)于圖4中的流程,還可以執(zhí)行:所述插件沙箱接收到策略設(shè)定第二指令;所述插件沙箱根據(jù)所述策略設(shè)定第二指令向所述插件權(quán)限控制器發(fā)送策略設(shè)定請(qǐng)求,以使所述插件權(quán)限控制器根據(jù)所述策略設(shè)定請(qǐng)求設(shè)定策略,以用于確定所述插件沙箱中插件的權(quán)限。需要說明的是,該步驟可以是預(yù)先執(zhí)行的,若不是預(yù)先則執(zhí)行的,則通過執(zhí)行該步驟所設(shè)定的策略只能用于確定以后插件沙箱再發(fā)送的api調(diào)用請(qǐng)求對(duì)應(yīng)的插件權(quán)限。

在本申請(qǐng)實(shí)施例中,對(duì)于步驟s402,所述插件沙箱將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器后,若確定所述api調(diào)用不被執(zhí)行,還可以執(zhí)行:所述插件沙箱對(duì)所述api調(diào)用未被執(zhí)行而引發(fā)的異常進(jìn)行處理。

進(jìn)一步地,基于同樣的發(fā)明思路,本申請(qǐng)實(shí)施例還提供了上述插件權(quán)限控制方法對(duì)應(yīng)的裝置,結(jié)合圖5、圖6進(jìn)行說明。

圖5為本申請(qǐng)實(shí)施例提供的對(duì)應(yīng)于圖3的一種插件權(quán)限控制裝置的結(jié)構(gòu)示意圖。該裝置應(yīng)用于應(yīng)用app,所述app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱,該裝置位于所述插件權(quán)限控制器,包括:

接收模塊501,接收所述插件沙箱發(fā)送的應(yīng)用程序編程接口api調(diào)用請(qǐng)求,其中,所述api調(diào)用請(qǐng)求是所述插件沙箱中插件的api調(diào)用請(qǐng)求,由所述插件沙箱攔截得到;

控制模塊502,確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

可選地,所述接收模塊501接收所述插件沙箱發(fā)送的api調(diào)用請(qǐng)求,具體包括:

所述接收模塊501通過進(jìn)程間通信,接收所述插件沙箱發(fā)送的api調(diào)用請(qǐng)求。

可選地,所述控制模塊502確定所述插件的權(quán)限,具體包括:

所述控制模塊502根據(jù)設(shè)定的策略,確定所述插件的權(quán)限;

其中,所述設(shè)定的策略由所述插件權(quán)限控制器根據(jù)預(yù)先接收的策略設(shè)定第一指令而設(shè)定。

可選地,所述插件權(quán)限控制器內(nèi)有包含預(yù)定的各策略的策略中心,所述插件權(quán)限控制器是根據(jù)所述策略中心包含的各策略而設(shè)定策略的,所述策略引擎管理器設(shè)定的策略包括所述各策略中的一項(xiàng)或多項(xiàng)。

可選地,所述裝置還包括:

設(shè)定模塊503,接收所述插件沙箱發(fā)送的策略設(shè)定請(qǐng)求,所述策略設(shè)定請(qǐng)求是所述插件沙箱根據(jù)接收到的策略設(shè)定第二指令發(fā)送的,根據(jù)所述策略設(shè)定請(qǐng)求設(shè)定策略。

可選地,所述控制模塊502若確定執(zhí)行所述api調(diào)用,根據(jù)所述插件的權(quán)限對(duì)應(yīng)的預(yù)定執(zhí)行方式,執(zhí)行所述api調(diào)用;

所述控制模塊502若確定不執(zhí)行所述api調(diào)用,拒絕所述api調(diào)用請(qǐng)求。

圖6為本申請(qǐng)實(shí)施例提供的對(duì)應(yīng)于圖4的一種插件權(quán)限控制裝置的結(jié)構(gòu)示意圖。該裝置應(yīng)用于應(yīng)用app,所述app中包括插件權(quán)限控制器、一個(gè)或多個(gè)插件沙箱,該裝置位于所述插件沙箱,包括:

攔截模塊601,攔截所述插件沙箱中插件的應(yīng)用程序編程接口api調(diào)用請(qǐng)求;

發(fā)送模塊602,將所述攔截模塊601攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器,以便于所述插件權(quán)限控制器確定所述插件的權(quán)限,并根據(jù)所述插件的權(quán)限,確定是否執(zhí)行所述api調(diào)用。

可選地,所述攔截模塊601攔截其對(duì)應(yīng)的插件的應(yīng)用程序編程接口api調(diào)用請(qǐng)求,具體包括:

所述攔截模塊601通過進(jìn)程間通信,將攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器。

可選地,所述裝置還包括:

設(shè)定模塊603,所述設(shè)定模塊到策略設(shè)定第二指令,根據(jù)所述策略設(shè)定第二指令向所述插件權(quán)限控制器發(fā)送策略設(shè)定請(qǐng)求,以使所述插件權(quán)限控制器根據(jù)所述策略設(shè)定請(qǐng)求設(shè)定策略,以用于確定所述插件沙箱中插件的權(quán)限。

可選地,所述裝置還包括:

異常處理模塊604,在所述發(fā)送模塊將所述攔截模塊攔截的所述api調(diào)用請(qǐng)求發(fā)送給所述插件權(quán)限控制器后,若確定所述api調(diào)用不被執(zhí)行,對(duì)所述api調(diào)用未被執(zhí)行而引發(fā)的異常進(jìn)行處理。

本申請(qǐng)實(shí)施例提供的系統(tǒng)、方法與裝置是一一對(duì)應(yīng)的,因此,方法、裝置也具有與其對(duì)應(yīng)的系統(tǒng)類似的有益技術(shù)效果,由于上面已經(jīng)對(duì)系統(tǒng)的有益技術(shù)效果進(jìn)行了詳細(xì)說明,因此,這里不再贅述對(duì)應(yīng)方法、裝置的有益技術(shù)效果。

本申請(qǐng)實(shí)施例中所述支付涉及的技術(shù)載體,例如可以包括近場通信(nearfieldcommunication,nfc)、wifi、3g/4g/5g、pos機(jī)刷卡技術(shù)、二維碼掃碼技術(shù)、條形碼掃碼技術(shù)、藍(lán)牙、紅外、短消息(shortmessageservice,sms)、多媒體消息(multimediamessageservice,mms)等。

在20世紀(jì)90年代,對(duì)于一個(gè)技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對(duì)二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對(duì)于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計(jì)人員幾乎都通過將改進(jìn)的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個(gè)方法流程的改進(jìn)就不能用硬件實(shí)體模塊來實(shí)現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對(duì)器件編程來確定。由設(shè)計(jì)人員自行編程來把一個(gè)數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請(qǐng)芯片制造廠商來設(shè)計(jì)和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實(shí)現(xiàn),它與程序開發(fā)撰寫時(shí)所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實(shí)現(xiàn)該邏輯方法流程的硬件電路。

控制器可以按任何適當(dāng)?shù)姆绞綄?shí)現(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲(chǔ)可由該(微)處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼(例如軟件或固件)的計(jì)算機(jī)可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲(chǔ)器控制器還可以被實(shí)現(xiàn)為存儲(chǔ)器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對(duì)其內(nèi)包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。

上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來實(shí)現(xiàn)。一種典型的實(shí)現(xiàn)設(shè)備為計(jì)算機(jī)。具體的,計(jì)算機(jī)例如可以為個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個(gè)人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺(tái)、平板計(jì)算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。

為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。

計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。

本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。

本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來說,本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
台湾省| 福建省| 乌什县| 郓城县| 广南县| 渭源县| 宝山区| 郓城县| 乌兰县| 锦屏县| 汉川市| 明光市| 格尔木市| 铜陵市| 通榆县| 嘉定区| 偃师市| 许昌市| 高安市| 二连浩特市| 平顶山市| 卢氏县| 宜宾市| 社会| 兴业县| 井陉县| 娄底市| 宜川县| 开原市| 水富县| 黑山县| 浪卡子县| 盘锦市| 麟游县| 宾阳县| 漠河县| 长白| 赤水市| 五河县| 太仓市| 仁寿县|