權(quán)限控制方法、系統(tǒng)、應(yīng)用軟件及平臺軟件的制作方法
【專利摘要】本發(fā)明實(shí)施例提供了一種權(quán)限控制方法、系統(tǒng)、應(yīng)用軟件及平臺軟件,以實(shí)現(xiàn)平臺軟件對依賴于應(yīng)用軟件參與的權(quán)限的控制和管理。其中本發(fā)明實(shí)施例提供的一種權(quán)限控制方法,應(yīng)用于一系統(tǒng),其中,所述系統(tǒng)包括應(yīng)用軟件和平臺軟件,其中,應(yīng)用軟件通過平臺軟件來訪問存放在所述平臺軟件側(cè)的數(shù)據(jù);包括:將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè),其中所述應(yīng)用軟件權(quán)限為對所述平臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行操作的權(quán)限;當(dāng)欲對所述數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),所述應(yīng)用軟件向所述平臺軟件請求所述權(quán)限數(shù)據(jù)的信息;根據(jù)所述平臺軟件提供的權(quán)限數(shù)據(jù)的信息,所述應(yīng)用軟件參與對所述操作的控制。
【專利說明】權(quán)限控制方法、系統(tǒng)、應(yīng)用軟件及平臺軟件
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及安全訪問控制技術(shù),特別是一種權(quán)限控制方法、系統(tǒng)、應(yīng)用軟件及平臺 軟件。 技術(shù)背景
[0002] 目前,平臺軟件只能管理和控制其實(shí)現(xiàn)無需依賴于應(yīng)用軟件參與的權(quán)限,即只能 管理和控制其實(shí)現(xiàn)依賴于平臺軟件參與的權(quán)限。在本發(fā)明中將其實(shí)現(xiàn)依賴于平臺軟件參與 的權(quán)限簡稱為平臺軟件權(quán)限。在這種情況下,當(dāng)應(yīng)用軟件以角色登錄時(shí),平臺軟件根據(jù)角色 的權(quán)限數(shù)據(jù)來控制應(yīng)用軟件的操作。這里,角色的權(quán)限數(shù)據(jù)記錄有角色所具有的平臺軟件 權(quán)限。通常情況下,平臺軟件可以是文檔庫系統(tǒng)。
[0003] 這里權(quán)限的實(shí)現(xiàn)是指在角色具有該權(quán)限時(shí)允許角色執(zhí)行與該權(quán)限相對應(yīng)的操作, 在角色不具有該權(quán)限時(shí)拒絕角色執(zhí)行與該權(quán)限相對應(yīng)的操作。當(dāng)某個(gè)權(quán)限的實(shí)現(xiàn)需要應(yīng)用 軟件的參與時(shí),這種權(quán)限稱為依賴于應(yīng)用軟件參與的權(quán)限,在本發(fā)明中簡稱為應(yīng)用軟件權(quán) 限。比如讀、寫權(quán)限,它的實(shí)現(xiàn)是由平臺軟件控制的,即當(dāng)角色具有讀或?qū)憴?quán)限時(shí),平臺軟件 允許以該角色登錄的應(yīng)用軟件執(zhí)行讀或?qū)懖僮?,?dāng)角色不具有讀或?qū)憴?quán)限時(shí),平臺軟件拒 絕以該角色登錄的應(yīng)用軟件執(zhí)行讀或?qū)懖僮鳌5热缯洐?quán)限,它是以平臺軟件提供的讀 權(quán)限為基礎(chǔ)的,卻可以進(jìn)一步控制應(yīng)用軟件讀取文檔數(shù)據(jù)后,是否可以摘錄文檔數(shù)據(jù)。由于 平臺軟件已經(jīng)為應(yīng)用軟件提供了可讀文檔數(shù)據(jù),至于應(yīng)用軟件具體如何讀,平臺軟件無法 控制,需有應(yīng)用軟件的參與。即需要由應(yīng)用軟件來判斷其當(dāng)前登陸的角色是否具有摘錄權(quán) 限,并根據(jù)相應(yīng)的權(quán)限來控制應(yīng)用軟件的操作。因此,摘錄權(quán)限即屬于應(yīng)用軟件權(quán)限。
[0004] 再比如打印權(quán)限,它的實(shí)現(xiàn)由平臺軟件控制。但對于一種更細(xì)化的打印權(quán)限,它是 以平臺軟件提供的打印權(quán)限為基礎(chǔ)的,卻可以進(jìn)一步控制應(yīng)用軟件如何打印,如控制應(yīng)用 軟件一次性打印的最多頁數(shù),還可以控制應(yīng)用軟件連續(xù)打印的次數(shù)等等。由于平臺軟件已 經(jīng)為應(yīng)用軟件提供了最大的打印權(quán)限,至于應(yīng)用軟件具體如何進(jìn)行打印,平臺軟件同樣無 能為力,即這種更細(xì)化的打印權(quán)限的控制需要應(yīng)用軟件的參與。因此,這種更細(xì)化的打印權(quán) 限也屬于應(yīng)用軟件權(quán)限。
[0005] 由于可見,目前平臺軟件無法對某些應(yīng)用軟件權(quán)限進(jìn)行有效的控制。
【發(fā)明內(nèi)容】
[0006] 有鑒于此,本發(fā)明實(shí)施例提供一種權(quán)限控制方法、系統(tǒng)、應(yīng)用軟件以及平臺軟件, 以實(shí)現(xiàn)平臺軟件對應(yīng)用軟件權(quán)限的控制和管理。
[0007] 為了達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種權(quán)限控制方法,應(yīng)用于一系統(tǒng),其 中,所述系統(tǒng)包括應(yīng)用軟件和平臺軟件,其中,應(yīng)用軟件通過平臺軟件來訪問存放在所述平 臺軟件側(cè)的數(shù)據(jù);所述方法包括:
[0008] 將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè),其中所述應(yīng)用軟件權(quán)限為對 所述平臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行操作的權(quán)限;
[0009] 當(dāng)欲對所述數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),所述應(yīng)用軟件向所述平臺軟 件請求所述權(quán)限數(shù)據(jù)的信息;
[0010] 根據(jù)所述平臺軟件提供的權(quán)限數(shù)據(jù)的信息,所述應(yīng)用軟件參與對所述操作的控 制。
[0011] 為了達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種權(quán)限控制系統(tǒng),包括:
[0012] 應(yīng)用軟件,用于通過平臺軟件來訪問存放在所述平臺軟件側(cè)的數(shù)據(jù);
[0013] 所述平臺軟件,用于根據(jù)所述應(yīng)用軟件的指令,為所述應(yīng)用軟件提供所述平臺軟 件側(cè)的數(shù)據(jù);
[0014] 其中,
[0015] 所述應(yīng)用軟件,進(jìn)一步用于將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè), 其中應(yīng)用軟件權(quán)限為對所述平臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行操作的權(quán)限;以及,進(jìn)一步用于當(dāng) 欲對所述數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),向所述平臺軟件請求所述權(quán)限數(shù)據(jù)的信 息;并根據(jù)所述平臺軟件提供的權(quán)限數(shù)據(jù)的信息參與對所述操作的控制;
[0016] 所述平臺軟件,進(jìn)一步用于根據(jù)所述應(yīng)用軟件的指令,存放記錄應(yīng)用軟件權(quán)限的 權(quán)限數(shù)據(jù);以及,進(jìn)一步用于根據(jù)所述應(yīng)用軟件的指令,向所述應(yīng)用軟件提供權(quán)限數(shù)據(jù)的信 肩、。
[0017] 為了達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種應(yīng)用軟件包括:
[0018] 第一模塊,用于欲對平臺軟件側(cè)數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),向平臺 軟件請求記錄應(yīng)用軟件權(quán)限的權(quán)限信息,其中所述平臺軟件側(cè)存放有將記錄應(yīng)用軟件權(quán)限 的權(quán)限數(shù)據(jù);
[0019] 第二模塊,用于根據(jù)第一模塊向平臺軟件請求到的權(quán)限數(shù)據(jù)參與對平臺軟件側(cè)數(shù) 據(jù)的操作的控制。
[0020] 為了達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種平臺軟件包括:
[0021] 第一模塊,用于根據(jù)應(yīng)用軟件的指令,存放記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù);
[0022] 第二模塊,用于根據(jù)應(yīng)用軟件的指令,向應(yīng)用軟件提供權(quán)限數(shù)據(jù)的信息。
[0023] 通過本發(fā)明實(shí)施例提供的權(quán)限控制方法、系統(tǒng)、應(yīng)用軟件以及平臺軟件,應(yīng)用軟件 將記錄有應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè),當(dāng)應(yīng)用軟件對數(shù)據(jù)進(jìn)行與應(yīng)用軟件 權(quán)限相關(guān)的操作時(shí),應(yīng)用軟件先到平臺軟件去查詢其是否具有相應(yīng)的應(yīng)用軟件權(quán)限,在平 臺軟件將相應(yīng)的權(quán)限信息提供給應(yīng)用軟件后,應(yīng)用軟件才能根據(jù)該權(quán)限數(shù)據(jù)的信息參與該 操作的控制。通過這種方式,就實(shí)現(xiàn)了平臺軟件對應(yīng)用軟件權(quán)限的控制和管理。
[0024] 另外,通過將記錄有應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè),將數(shù)據(jù)以及與 之相關(guān)的權(quán)限信息存放在一起,也可以極大地提高數(shù)據(jù)權(quán)限控制的安全性。
[0025] 再則,由于通常情況下平臺軟件所具有的安全性遠(yuǎn)高于應(yīng)用軟件側(cè),將記錄有應(yīng) 用軟件權(quán)限的權(quán)限數(shù)據(jù)集成到平臺軟件的管理之下,使得權(quán)限數(shù)據(jù)本身的安全度更高。
【專利附圖】
【附圖說明】
[0026] 圖1是本發(fā)明實(shí)施例中權(quán)限控制系統(tǒng)的結(jié)構(gòu)示意圖。
[0027] 圖2是本發(fā)明實(shí)施例中權(quán)限控制方法的流程圖。
[0028] 圖3是本發(fā)明實(shí)施例中用于權(quán)限控制的應(yīng)用軟件的結(jié)構(gòu)示意圖。
[0029] 圖4是本發(fā)明實(shí)施例中用于權(quán)限控制的平臺軟件的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對本發(fā)明作進(jìn)一步 的詳細(xì)描述。
[0031] 在本發(fā)明實(shí)施例提供的權(quán)限控制方法中,記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平 臺軟件側(cè),其中應(yīng)用軟件權(quán)限為對平臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行操作的權(quán)限;當(dāng)應(yīng)用軟件欲 對平臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),平臺軟件將所述權(quán)限數(shù)據(jù)的 信息提供給應(yīng)用軟件,應(yīng)用軟件根據(jù)平臺軟件提供的權(quán)限數(shù)據(jù)的信息參與對數(shù)據(jù)操作的控 制。
[0032] 圖1是本發(fā)明實(shí)施例中權(quán)限控制系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,該權(quán)限控制系 統(tǒng)包括應(yīng)用軟件101以及平臺軟件102,其中待操作數(shù)據(jù)103位于平臺軟件側(cè)。其中應(yīng)用 軟件101通過平臺軟件102來訪問存放在平臺軟件102側(cè)的待操作數(shù)據(jù)103,平臺軟件102 根據(jù)應(yīng)用軟件101的指令,為應(yīng)用軟件101提供待操作數(shù)據(jù)103。一旦應(yīng)用軟件101通過平 臺軟件102訪問到待操作數(shù)據(jù)103,則應(yīng)用軟件101對數(shù)據(jù)103的操作無需經(jīng)過平臺軟件 102。如應(yīng)用軟件101對數(shù)據(jù)103進(jìn)行的摘錄操作就無需經(jīng)過平臺軟件102。
[0033] 應(yīng)用軟件101,用于將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件102側(cè),其 中應(yīng)用軟件權(quán)限為對平臺軟件102側(cè)存放的待操作數(shù)據(jù)103進(jìn)行操作的權(quán)限;當(dāng)欲對數(shù)據(jù) 103進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),首先向平臺軟件102獲取權(quán)限數(shù)據(jù)的信息,然而根 據(jù)從平臺軟件102處獲取的權(quán)限數(shù)據(jù)的信息參與對數(shù)據(jù)103操作的控制。
[0034] 平臺軟件102,用于根據(jù)應(yīng)用軟件101的指令,存放記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù) 據(jù);根據(jù)應(yīng)用軟件101的指令,向應(yīng)用軟件101提供權(quán)限數(shù)據(jù)的信息。
[0035] 具體來說,記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)中包含至少一個(gè)角色所具有的應(yīng)用軟件 權(quán)限,當(dāng)應(yīng)用軟件101并欲對數(shù)據(jù)103進(jìn)行與應(yīng)用軟件權(quán)限相應(yīng)的操作時(shí),應(yīng)用軟件101向 平臺軟件102請求權(quán)限數(shù)據(jù)的信息,平臺軟件102為應(yīng)用軟件101提供權(quán)限數(shù)據(jù)的信息,應(yīng) 用軟件101根據(jù)平臺軟件102提供的權(quán)限數(shù)據(jù)的信息,判斷當(dāng)前登錄角色是否具有執(zhí)行該 操作的應(yīng)用軟件權(quán)限,如果當(dāng)前登錄角色不具有相應(yīng)的應(yīng)用軟件權(quán)限,則應(yīng)用軟件101不 能對數(shù)據(jù)103執(zhí)行相應(yīng)的操作。
[0036] 本領(lǐng)域技術(shù)人員可以理解,將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè)的 應(yīng)用軟件和向平臺軟件請求權(quán)限數(shù)據(jù)信息并根據(jù)平臺軟件提供的權(quán)限數(shù)據(jù)控制對數(shù)據(jù)操 作的應(yīng)用軟件也可以是不同的應(yīng)用軟件,甚至兩者在通常情況下都不相同。
[0037] 比如應(yīng)用軟件A將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè),假設(shè)該權(quán)限 數(shù)據(jù)中記錄有角色A、B、C所具有的應(yīng)用軟件權(quán)限信息,那么當(dāng)應(yīng)用軟件B以角色A登錄平 臺軟件,并欲對平臺軟件側(cè)的數(shù)據(jù)進(jìn)行A操作時(shí),應(yīng)用軟件B首先向平臺軟件請求權(quán)限數(shù) 據(jù),應(yīng)用軟件B可以平臺軟件提供的權(quán)限數(shù)據(jù)判斷角色B是否具有與A操作相應(yīng)的應(yīng)用軟 件權(quán)限,如果角色B具有相應(yīng)的應(yīng)用軟件權(quán)限,則應(yīng)用軟件B可以對平臺軟件側(cè)的數(shù)據(jù)執(zhí)行 A操作,否則應(yīng)用軟件B不能對平臺軟件側(cè)的數(shù)據(jù)執(zhí)行A操作。
[0038] 進(jìn)一步的,應(yīng)用軟件101或平臺軟件102還可以對權(quán)限數(shù)據(jù)進(jìn)行維護(hù)。
[0039] 當(dāng)平臺軟件102不理解權(quán)限數(shù)據(jù)的具體含義時(shí),由應(yīng)用軟件101來完成對權(quán)限數(shù) 據(jù)的維護(hù)。具體來說,平臺軟件102為應(yīng)用軟件101提供權(quán)限數(shù)據(jù)后,應(yīng)用軟件101可以對 權(quán)限數(shù)據(jù)進(jìn)行修改維護(hù),如刪除或增加角色,合并、刪除或增加應(yīng)用軟件權(quán)限,修改角色所 具有的應(yīng)用權(quán)限等等,然而再將修改后的權(quán)限數(shù)據(jù)存放在平臺軟件102側(cè)以更新原有的權(quán) 限數(shù)據(jù)。
[0040] 當(dāng)平臺軟件102理解權(quán)限數(shù)據(jù)的具體含義時(shí),平臺軟件102可以主動地根據(jù)權(quán)限 數(shù)據(jù)的內(nèi)容進(jìn)行維護(hù),比如進(jìn)行應(yīng)用軟件權(quán)限的合并和刪除。也可以根據(jù)應(yīng)用軟件101的 指令,對權(quán)限數(shù)據(jù)的內(nèi)容進(jìn)行維護(hù),如刪除或增加角色、刪除或增加應(yīng)用軟件權(quán)限、修改角 色所具有的應(yīng)用權(quán)限等等。
[0041] 應(yīng)用軟件權(quán)限的合并和刪除在后續(xù)會詳細(xì)描述,這里就不再贅述。
[0042] 當(dāng)平臺軟件為文檔庫系統(tǒng)時(shí),平臺軟件側(cè)的數(shù)據(jù)可以是文檔數(shù)據(jù)等非結(jié)構(gòu)化數(shù) 據(jù),當(dāng)平臺軟件為音視頻系統(tǒng)時(shí),平臺軟件側(cè)的數(shù)據(jù)可以是影視頻數(shù)據(jù)。
[0043] 圖2是本發(fā)明實(shí)施例中權(quán)限管理方法的流程圖。如圖2所示,本發(fā)明實(shí)施例提供 的權(quán)限管理方法應(yīng)用于圖1所述的權(quán)限管理系統(tǒng),具體包括:
[0044] 步驟201 :將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè)。其中記錄應(yīng)用軟 件權(quán)限的權(quán)限數(shù)據(jù)包括至少一個(gè)角色所具有的應(yīng)用軟件權(quán)限,并且該應(yīng)用軟件權(quán)限為對平 臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行操作的權(quán)限。
[0045] 具體來說,可以根據(jù)用戶的需求來設(shè)定至少一個(gè)角色所具有的應(yīng)用軟件權(quán)限。記 錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)可以存放在文檔數(shù)據(jù)中。
[0046] 在本發(fā)明實(shí)施例中,可以將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)和記錄有平臺軟件權(quán)限 的權(quán)限數(shù)據(jù)存儲在一起,也可以分開存儲。
[0047] 步驟202 :當(dāng)欲對平臺軟件側(cè)數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),應(yīng)用軟件 向平臺軟件請求權(quán)限數(shù)據(jù)的信息,并根據(jù)平臺軟件提供的權(quán)限數(shù)據(jù)的信息參與對平臺軟件 側(cè)數(shù)據(jù)操作的控制。
[0048] 當(dāng)應(yīng)用軟件以角色登錄平臺軟件欲對平臺軟件側(cè)的數(shù)據(jù)進(jìn)行操作時(shí),平臺軟件將 權(quán)限數(shù)據(jù)的信息提供給應(yīng)用軟件,應(yīng)用軟件根據(jù)平臺軟件提供的權(quán)限數(shù)據(jù)的信息判斷該當(dāng) 前登錄角色是否具有與操作相應(yīng)的應(yīng)用軟件權(quán)限,如果當(dāng)前登錄角色具有與操作相應(yīng)的應(yīng) 用軟件權(quán)限,那么應(yīng)用軟件就可以對平臺軟件側(cè)的數(shù)據(jù)進(jìn)行操作,否則,應(yīng)用軟件不能對平 臺軟件側(cè)的數(shù)據(jù)進(jìn)行操作。
[0049] 在本發(fā)明實(shí)施例中,權(quán)限數(shù)據(jù)的存儲形式可以是角色和應(yīng)用軟件權(quán)限對照表。即 可以用對照表中的內(nèi)容來代表不同的角色是否具有對應(yīng)的應(yīng)用軟件權(quán)限。
[0050] 在本發(fā)明實(shí)施例中,對照表中的內(nèi)容可以是一個(gè)標(biāo)志位,比如數(shù)值或者字符串。比 如標(biāo)志位可以是數(shù)字1或0,用數(shù)字1來表示角色具有對應(yīng)的應(yīng)用軟件權(quán)限;用數(shù)字0來表 示角色不具有對應(yīng)的應(yīng)用軟件權(quán)限。
[0051] 在本發(fā)明另一實(shí)施例中,對照表中的內(nèi)容還可以是執(zhí)行應(yīng)用軟件權(quán)限操作所需要 的信息,如密鑰(可以是不對稱密鑰中的私鑰或公鑰,也可以是對稱密鑰,還可以是口令)、 以及加密過的密文數(shù)據(jù)。執(zhí)行應(yīng)用軟件權(quán)限操作所需要的信息還可以是其它類型的信息, 根據(jù)具體情況會有所不同,在這里不一一贅述。這樣應(yīng)用軟件以角色登錄欲對平臺軟件側(cè) 的數(shù)據(jù)執(zhí)行應(yīng)用軟件權(quán)限操作時(shí),應(yīng)用軟件需正確提供該應(yīng)用軟件權(quán)限操作所需的信息, 才被允許執(zhí)行相應(yīng)的操作。
[0052] 如,如果對照表中某一單元格中的內(nèi)容為密鑰信息,則表明該單元格對應(yīng)的角 色具有對應(yīng)的應(yīng)用軟件權(quán)限。如果對照表上某一單元格中的內(nèi)容未包含執(zhí)行應(yīng)用軟件權(quán)限 操作所需要的信息,例如為NULL、空、或其它值(除執(zhí)行應(yīng)用軟件權(quán)限操作所需要的信息以 外的任意信息),則表明該單元格對應(yīng)的角色不具有對應(yīng)的應(yīng)用軟件權(quán)限。
[0053] 在利用標(biāo)志位來表示角色是否具有應(yīng)用軟件權(quán)限的實(shí)施例中,系統(tǒng)的安全性只能 依賴于應(yīng)用軟件的代碼安全性。但在利用執(zhí)行應(yīng)用軟件權(quán)限操作所需要的信息來表示角色 是否具有應(yīng)用軟件權(quán)限的實(shí)施例中,簡單的代碼攻擊不再能破環(huán)權(quán)限控制的安全性。這是 因?yàn)閼?yīng)用軟件只有獲取到與與當(dāng)前登錄角色對應(yīng)的執(zhí)行應(yīng)用軟件權(quán)限操作所需的信息,應(yīng) 用軟件才被允許執(zhí)行相應(yīng)的操作,因此這種權(quán)限控制很難繞過平臺軟件。通常平臺軟件的 安全性遠(yuǎn)高于應(yīng)用軟件的安全性,因此使得在權(quán)限數(shù)據(jù)中存儲執(zhí)行應(yīng)用軟件權(quán)限操作所需 要信息的方法具有更高的安全性。在這種情況下,即使應(yīng)用軟件的代碼為開發(fā)性代碼,也不 會影響權(quán)限控制的安全性。
[0054] 比如對于上述更細(xì)化的打印權(quán)限而言,當(dāng)利用標(biāo)志位來表示角色是否具有應(yīng)用軟 件權(quán)限時(shí),應(yīng)用軟件查詢平臺軟件提供的權(quán)限數(shù)據(jù),判斷當(dāng)前登錄的角色是否具有該打印 權(quán)限,在當(dāng)前登錄角色具有該打印權(quán)限時(shí),控制打印機(jī)打印。但攻擊者可以通過修改應(yīng)用軟 件,讓應(yīng)用軟件直接跳過驗(yàn)證當(dāng)前登錄角色是否具有打印權(quán)限的步驟,直接通過打印機(jī)打 印,在這種情況下,系統(tǒng)就不能有效地控制應(yīng)用軟件的操作。但在利用執(zhí)行應(yīng)用軟件權(quán)限操 作所需要的信息表示角色是否具有應(yīng)用軟件權(quán)限的情況下,只有應(yīng)用軟件從平臺軟件提供 的權(quán)限數(shù)據(jù)中獲取到當(dāng)前登錄角色執(zhí)行打印操作所需要的信息,打印機(jī)才能執(zhí)行打印。因 此在沒有得知執(zhí)行打印操作所需要信息的情況下,無法繞過平臺軟件來執(zhí)行打印操作。很 顯然,這樣就可以獲得更高的安全性。
[0055] 應(yīng)用軟件根據(jù)平臺軟件提供的權(quán)限數(shù)據(jù)的信息判斷該當(dāng)前登錄角色是否具有與 操作相應(yīng)的應(yīng)用軟件權(quán)限的過程可以是:應(yīng)用軟件逐一遍歷權(quán)限數(shù)據(jù),找到與當(dāng)前登錄角 色和該操作權(quán)限對應(yīng)的單元格,通過該單元格中的內(nèi)容來判斷當(dāng)前登錄角色是否具有該操 作權(quán)限。只要當(dāng)前登錄角色中有一個(gè)角色具有該操作權(quán)限,允許執(zhí)行該操作;否則拒絕該操 作的執(zhí)行。
[0056] 表1為權(quán)限數(shù)據(jù)的對照表存儲形式。如表1所示,該對照表有m行η列,其中列代 表角色,η列表示共有η個(gè)角色;行代表應(yīng)用軟件權(quán)限,m行表示共有m種應(yīng)用軟件權(quán)限。第 i行j列單元格內(nèi)容表示角色j是否具有應(yīng)用軟件權(quán)限i。這里假設(shè)用1來表示角色擁有 應(yīng)用軟件權(quán)限,用〇來表示角色不具有應(yīng)用軟件權(quán)限。假設(shè)應(yīng)用軟件以角色1和角色2登 錄,那么從表1可知,應(yīng)用軟件可以執(zhí)行與權(quán)限1、權(quán)限2以及權(quán)限m對應(yīng)的操作。
[0057]
【權(quán)利要求】
1. 一種權(quán)限控制方法,應(yīng)用于一系統(tǒng),其中,所述系統(tǒng)包括應(yīng)用軟件和平臺軟件,其 中,應(yīng)用軟件通過平臺軟件來訪問存放在所述平臺軟件側(cè)的數(shù)據(jù);其特征在于,所述方法包 括: 將記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)存放在平臺軟件側(cè),其中所述應(yīng)用軟件權(quán)限為對所述 平臺軟件側(cè)存放的數(shù)據(jù)進(jìn)行操作的權(quán)限; 當(dāng)欲對所述數(shù)據(jù)進(jìn)行與應(yīng)用軟件權(quán)限相關(guān)的操作時(shí),所述應(yīng)用軟件向所述平臺軟件請 求所述權(quán)限數(shù)據(jù)的信息; 根據(jù)所述平臺軟件提供的權(quán)限數(shù)據(jù)的信息,所述應(yīng)用軟件參與對所述操作的控制。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述記錄應(yīng)用軟件權(quán)限的權(quán)限數(shù)據(jù)包括 至少一個(gè)角色所具有的應(yīng)用軟件權(quán)限; 所述根據(jù)所述平臺軟件提供的權(quán)限數(shù)據(jù)的信息參與對所述操作的控制包括: 根據(jù)所述權(quán)限數(shù)據(jù)判斷當(dāng)前登錄角色是否具有與所述操作相應(yīng)的應(yīng)用軟件權(quán)限; 如果當(dāng)前登錄角色具有與所述操作相應(yīng)的應(yīng)用軟件權(quán)限,則可W對所述數(shù)據(jù)進(jìn)行操 作,否則,不能對所述數(shù)據(jù)進(jìn)行操作。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:對權(quán)限數(shù)據(jù)進(jìn)行維護(hù)。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)所述平臺軟件不理解權(quán)限數(shù)據(jù)的具體 含義時(shí),由應(yīng)用軟件完成對權(quán)限數(shù)據(jù)的維護(hù)。
5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)所述平臺軟件理解權(quán)限數(shù)據(jù)的具體含 義時(shí),所述平臺軟件主動地或者根據(jù)應(yīng)用軟件的指令對權(quán)限數(shù)據(jù)的內(nèi)容進(jìn)行維護(hù)。
6. 根據(jù)權(quán)利要求2所述的方法,其特征在于,通過指示符來指示一角色是否具有一應(yīng) 用軟件權(quán)限。
7. 根據(jù)權(quán)利要求2所述的方法,其特征在于,通過執(zhí)行一應(yīng)用軟件權(quán)限相對應(yīng)操作所 需要的信息來指示一角色所具有的一應(yīng)用軟件權(quán)限。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,從所述平臺軟件提供的權(quán)限數(shù)據(jù)中獲取 與當(dāng)前登錄角色對應(yīng)的執(zhí)行所述操作所需的信息,根據(jù)獲取的執(zhí)行所述操作所需的信息對 所述數(shù)據(jù)進(jìn)行操作,若所述平臺軟件提供的權(quán)限數(shù)據(jù)中不存在與當(dāng)前登錄角色對應(yīng)的執(zhí)行 所述操作所需的信息,不能對所述數(shù)據(jù)進(jìn)行操作。
9. 根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述執(zhí)行一應(yīng)用軟件權(quán)限相對應(yīng)操作 所需的信息包括:密鑰或用密鑰加密的其他數(shù)據(jù)。
10. 根據(jù)權(quán)利要求1至8任一所述的方法,其特征在于,所述權(quán)限數(shù)據(jù)的存儲形式為為 角色和應(yīng)用軟件權(quán)限的對照表。
【文檔編號】G06F21/51GK104462947SQ201310433503
【公開日】2015年3月25日 申請日期:2013年9月22日 優(yōu)先權(quán)日:2013年9月22日
【發(fā)明者】王東臨 申請人:天津書生投資有限公司