亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置和定義方法

文檔序號:6523609閱讀:708來源:國知局
數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置和定義方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,包括:數(shù)據(jù)綁定模塊,通過基于數(shù)據(jù)對象元數(shù)據(jù)建立的綁定通道,關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象;權(quán)限處理模塊,基于前述關(guān)聯(lián),管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法;數(shù)據(jù)處理模塊,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。本發(fā)明還提供了一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義方式基礎(chǔ)上,充分利用靜態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限完成動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義,建立動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限參與的面向控制和動態(tài)擴(kuò)展數(shù)據(jù)訪問權(quán)限和行為權(quán)限的通用、統(tǒng)一定義思路。
【專利說明】數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置和定義方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體地,涉及一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置和一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法。
【背景技術(shù)】
[0002]在數(shù)據(jù)處理流程和功能快速變化持續(xù)改進(jìn)的情況下,用戶期待保持?jǐn)?shù)據(jù)對象不變的情況下,支持更豐富的更靈活的權(quán)限控制邏輯實現(xiàn),目前通用的實現(xiàn)方面有以下共同的特性:
[0003]⑴在設(shè)計態(tài)使用管控模式描述數(shù)據(jù)的可見范圍;⑵在定義數(shù)據(jù)時指定所屬的管控模式,及確定數(shù)據(jù)的可見范圍;⑶設(shè)計態(tài)定義可支持的行為組織之間的委托關(guān)系類型,使用委托關(guān)系定義實現(xiàn)數(shù)據(jù)所屬組織之間的行為賦權(quán)定義;并綁定固定的業(yè)務(wù)處理邏輯;⑷設(shè)計態(tài)明確定義指定某類行為的執(zhí)行者的數(shù)據(jù)屬性,固化執(zhí)行者屬性,并在設(shè)計態(tài)代碼中行為執(zhí)行者使用執(zhí)行者屬性決定行為處理邏輯;(5)運行態(tài)具體數(shù)據(jù),依據(jù)該類數(shù)據(jù)使用的管控范圍控制可見性;(6)運行態(tài)具體數(shù)據(jù),依據(jù)定義該數(shù)據(jù)的組織和具體行為的執(zhí)行組織之間的業(yè)務(wù)委托關(guān)系來選擇具體行為的執(zhí)行組織并保存為具體數(shù)據(jù)的行為執(zhí)行者屬性的數(shù)據(jù)值;(7)運行態(tài)是否可對具體數(shù)據(jù)執(zhí)行某行為,依據(jù)該數(shù)據(jù)的行為執(zhí)行者屬性是否為當(dāng)前行為組織來決定;(8)使用分配或下發(fā)功能實現(xiàn)某類數(shù)據(jù)在不同的可見性范圍內(nèi)的可見性賦權(quán)。
[0004]另外,在專利(申請)號為201010585547、名稱為“一種權(quán)限配置方法、裝置及系統(tǒng)”的專利(申請)文件中,提供了一種權(quán)限配置方法、裝置及系統(tǒng),所述方法包括下述步驟:在系統(tǒng)頁面中生成功能菜單;將所述功能菜單對應(yīng)的權(quán)限配置頁簽載入所述系統(tǒng)頁面;在所述權(quán)限配置頁簽中配置所述功能菜單的權(quán)限。本發(fā)明通過在對功能菜單進(jìn)行定義時從權(quán)限管理模塊中調(diào)用權(quán)限配置頁簽并進(jìn)行載入,實現(xiàn)在同一頁面完成對功能菜單的定義和權(quán)限配置,減少了用戶的操作步驟,提高了系統(tǒng)的易用性。
[0005]在專利(申請)號為201010536592、名稱為“權(quán)限管理方法和裝置、權(quán)限控制方法和裝置”的專利(申請)文件中,提供了一種權(quán)限管理方法和裝置、權(quán)限控制方法和裝置,其中的權(quán)限控制方法具體包括:依據(jù)預(yù)置的用戶與角色之間的多對多映射關(guān)系,獲取當(dāng)前用戶所對應(yīng)的多個角色;依據(jù)預(yù)置的角色權(quán)限映射關(guān)系,獲取所述多個角色對應(yīng)的權(quán)限;依據(jù)所述多個角色對應(yīng)的權(quán)限,向所述當(dāng)前用戶開放權(quán)限。本發(fā)明能夠提高用戶的工作效率,且增加權(quán)限使用的方便性。
[0006]以上技術(shù)在一定程度上實現(xiàn)了數(shù)據(jù)對象和權(quán)限邏輯的分離,提高了開發(fā)效率和用戶體驗。但仍存在一些不足:
[0007]⑴在定義數(shù)據(jù)對象時其可見性范圍就需要確定,并且管控模式是預(yù)定義的系統(tǒng)參數(shù),不能支持不同數(shù)據(jù)的可見性范圍的差異化需求。同類數(shù)據(jù),由于其生命周期的不同,各生命周期階段的可見性范圍存在不同。
[0008]⑵數(shù)據(jù)對象和權(quán)限控制緊密綁定,在定義數(shù)據(jù)對象時其行為執(zhí)行者就需要確定。而現(xiàn)實情況是行為組織之間的委托關(guān)系,一般用于比較穩(wěn)定的業(yè)務(wù)行為,對于很多臨時性的業(yè)務(wù)行為,需要按照具體數(shù)據(jù)臨時指定,在定義數(shù)據(jù)時不能確定。
[0009]⑶在企業(yè)管理軟件中,經(jīng)常會有根據(jù)不同場景定義多種不同的可見性范圍和業(yè)務(wù)行為委托關(guān)系,現(xiàn)有技術(shù)在運行期間,不能很好地支持這種權(quán)限控制邏輯的擴(kuò)展。
[0010]通常情況下,軟件的某個功能模塊包括該業(yè)務(wù)數(shù)據(jù)、邏輯操作,以及用戶界面(Π)。其中,業(yè)務(wù)數(shù)據(jù)是功能模塊要處理或生成的數(shù)據(jù)對象,邏輯操作是對業(yè)務(wù)數(shù)據(jù)的處理過程和方法,用戶界面向用戶呈現(xiàn)業(yè)務(wù)數(shù)據(jù),并負(fù)責(zé)把用戶的操作映射為邏輯操作,并把操作的結(jié)果反饋給用戶。
[0011]現(xiàn)有技術(shù)一般通過數(shù)據(jù)處理完成數(shù)據(jù)對象的活動處理與業(yè)務(wù)數(shù)據(jù)(包括權(quán)限數(shù)據(jù))處理模塊間的交互,其中處理權(quán)限控制的邏輯硬代碼編寫在數(shù)據(jù)對象的活動處理實現(xiàn)中。如圖6所示。
[0012]當(dāng)執(zhí)行定義某數(shù)據(jù)的活動處理時,比如新增或修改數(shù)據(jù)對象時,需要根據(jù)委托關(guān)系指定相關(guān)行為執(zhí)行者,并根據(jù)系統(tǒng)對該數(shù)據(jù)指定的管控范圍驗證唯一性。當(dāng)執(zhí)行特定的行為,比如對數(shù)據(jù)對象執(zhí)行銷售時,對應(yīng)的活動接收要處理的數(shù)據(jù)對象,讀取數(shù)據(jù)對象,包括數(shù)據(jù)的權(quán)限數(shù)據(jù),首先按照數(shù)據(jù)的可見性范圍確定當(dāng)前執(zhí)行者是否可對該數(shù)據(jù)執(zhí)行該行為,及該執(zhí)行者是否是相關(guān)行為執(zhí)行者,執(zhí)行權(quán)限控制的邏輯硬代碼,驗證通過,執(zhí)行其它邏輯,從而完成對用戶操作指令做出相應(yīng)的業(yè)務(wù)邏輯操作。
[0013]根據(jù)現(xiàn)有技術(shù)的特性,程序模塊設(shè)計和運行期間表現(xiàn)為如圖7所示的形式。在設(shè)計和運行時,數(shù)據(jù)對象的權(quán)限數(shù)據(jù)被固化為系統(tǒng)參數(shù)和數(shù)據(jù)對象的行為執(zhí)行者等固定的有限的屬性,活動的邏輯和權(quán)限控制邏輯針對該數(shù)據(jù)結(jié)構(gòu)進(jìn)行硬編碼,所有代碼被包裝在同一個活動處理的程序?qū)ο笾?,這個程序?qū)ο蠹劝瑪?shù)據(jù)對象活動的邏輯,又包含權(quán)限控制邏輯。不論是在設(shè)計時還是在運行時,數(shù)據(jù)對象活動的邏輯和權(quán)限控制的數(shù)據(jù)結(jié)構(gòu)和邏輯都有完全耦合關(guān)系,由于固化屬性,使得擴(kuò)展行為組織就必須添加屬性,同時修改控制邏輯代碼,從而使設(shè)計時并行開發(fā)、運行時動態(tài)擴(kuò)展和替換權(quán)限控制邏輯等需求難以實現(xiàn)。
[0014]因此,需要一種新的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義技術(shù),可以在現(xiàn)有的數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義方式基礎(chǔ)上,充分利用靜態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限完成動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義,建立動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限參與的面向控制和動態(tài)擴(kuò)展數(shù)據(jù)訪問權(quán)限和行為權(quán)限的通用、統(tǒng)一定義思路。

【發(fā)明內(nèi)容】

[0015]本發(fā)明正是基于上述問題,提出了一種新的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義技術(shù),可以在現(xiàn)有的數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義方式基礎(chǔ)上,充分利用靜態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限完成動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義,建立動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限參與的面向控制和動態(tài)擴(kuò)展數(shù)據(jù)訪問權(quán)限和行為權(quán)限的通用、統(tǒng)一定義思路。
[0016]有鑒于此,本發(fā)明提出了一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,包括:數(shù)據(jù)綁定模塊,用于基于數(shù)據(jù)對象元數(shù)據(jù)建立綁定通道,通過綁定通道關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,并在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時更新權(quán)限數(shù)據(jù)對象的權(quán)限;權(quán)限處理模塊,用于基于所述數(shù)據(jù)綁定模塊關(guān)聯(lián)的數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法;數(shù)據(jù)處理模塊,用于在所述權(quán)限處理模塊實現(xiàn)權(quán)限管理的基礎(chǔ)上,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。在該技術(shù)方案中,可以通過在數(shù)據(jù)對象和權(quán)限數(shù)據(jù)之間建立關(guān)聯(lián),通過權(quán)限管理器對數(shù)據(jù)的權(quán)限進(jìn)行創(chuàng)建、更新、校驗和管理,在數(shù)據(jù)對象和權(quán)限管理器之間建立邏輯關(guān)聯(lián),從而將根據(jù)權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限,靈活性大,處理效率高。
[0017]在上述技術(shù)方案中,優(yōu)選地,所述數(shù)據(jù)綁定模塊,具體包括:綁定通道建立模塊,用于在數(shù)據(jù)對象元數(shù)據(jù)中指定綁定源和綁定路徑,建立綁定通道;元數(shù)據(jù)被加載并創(chuàng)建為數(shù)據(jù)對象后,控件可根據(jù)綁定上下文自動獲取綁定的數(shù)據(jù),并在更改時同步更新綁定源;關(guān)聯(lián)及更新模塊,用于數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過所述綁定通道建立模塊建立的綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。
[0018]在上述技術(shù)方案中,優(yōu)選地,所述權(quán)限處理模塊,具體包括:權(quán)限管理模塊,用于權(quán)限管理器管理權(quán)限的集合,權(quán)限集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置;權(quán)限創(chuàng)建模塊,用于權(quán)限管理器提供權(quán)限創(chuàng)建的方法,以創(chuàng)建權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的所有權(quán)限;權(quán)限更新模塊,用于權(quán)限管理器提供權(quán)限更新的方法,以更新權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的權(quán)限;權(quán)限校驗?zāi)K,用于權(quán)限管理器提供權(quán)限校驗的方法,以校驗當(dāng)前權(quán)限下當(dāng)前活動是否允許執(zhí)行;權(quán)限控制模塊,用于在每個權(quán)限中定義包含多個權(quán)限控制項的集合,每個控制項控制項目自身的活動或其它的數(shù)據(jù)的活動是否允許在該權(quán)限下執(zhí)行;該權(quán)限控制項集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置。
[0019]在上述技術(shù)方案中,優(yōu)選地,所述權(quán)限管理模塊和/或所述權(quán)限控制模塊在實際流程中對權(quán)限進(jìn)行靈活配置的操作,具體包括:在運行態(tài)根據(jù)實際需要擴(kuò)展、修改或新建;以及,所述權(quán)限創(chuàng)建模塊提供的權(quán)限創(chuàng)建方法,具體包括:接收數(shù)據(jù)對象和權(quán)限設(shè)置數(shù)據(jù),判斷該接收數(shù)據(jù)的對應(yīng)權(quán)限是否存在:若存在,則返回權(quán)限已存在而不能創(chuàng)建的消息;若不存在,則創(chuàng)建該接收數(shù)據(jù)的權(quán)限實例數(shù)據(jù);以及,所述權(quán)限更新模塊提供的權(quán)限更新方法,具體包括:接收數(shù)據(jù)對象和新舊權(quán)限設(shè)置數(shù)據(jù),如果新舊權(quán)限都為空,則返回權(quán)限未指定而不能更新的消息;如果新舊權(quán)限都不為空,則:首先讀取數(shù)據(jù)對象的舊權(quán)限,如果數(shù)據(jù)對象的舊權(quán)限不存在,則返回權(quán)限不存在而不能更新的消息;然后查詢數(shù)據(jù)對象是否存在新權(quán)限,如果數(shù)據(jù)對象存在新權(quán)限,則返回權(quán)限已存在而不能更新的消息;最后將舊權(quán)限替換為新權(quán)限,如果舊權(quán)限為空,則執(zhí)行創(chuàng)建權(quán)限過程;如果新權(quán)限為空,則刪除舊權(quán)限;以及,所述權(quán)限校驗?zāi)K提供的權(quán)限校驗方法,具體包括:接收執(zhí)行者、數(shù)據(jù)對象和業(yè)務(wù)活動,首先讀取數(shù)據(jù)對象的當(dāng)前執(zhí)行者的當(dāng)前角色,然后讀取該角色的權(quán)限控制項集合,判定當(dāng)前活動是否允許執(zhí)行并返回結(jié)果。
[0020]在上述技術(shù)方案中,優(yōu)選地,所述數(shù)據(jù)處理模塊,具體包括:事件處理模塊,用于解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理;插件處理模塊,用于基于所述事件處理模塊觸發(fā)的權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,完成數(shù)據(jù)對象的權(quán)限控制邏輯;服務(wù)調(diào)用模塊,用于基于所述插件處理模塊完成的數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來;數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名。
[0021]根據(jù)本發(fā)明的又一個方面,還提出了一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,包括:步驟202:基于數(shù)據(jù)對象元數(shù)據(jù)建立綁定通道,通過綁定通道關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,并在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時更新權(quán)限數(shù)據(jù)對象的權(quán)限;步驟204:基于所述步驟202關(guān)聯(lián)的數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法;步驟206:在所述步驟204實現(xiàn)權(quán)限管理的基礎(chǔ)上,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。在該技術(shù)方案中,可以通過在數(shù)據(jù)對象和權(quán)限數(shù)據(jù)之間建立關(guān)聯(lián),通過權(quán)限管理器對數(shù)據(jù)的權(quán)限進(jìn)行創(chuàng)建、更新、校驗和管理,在數(shù)據(jù)對象和權(quán)限管理器之間建立邏輯關(guān)聯(lián),從而將根據(jù)權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限,靈活性大,處理效率高。
[0022]在上述技術(shù)方案中,優(yōu)選地,所述步驟202,具體包括:步驟302:在數(shù)據(jù)對象元數(shù)據(jù)中指定綁定源和綁定路徑,建立綁定通道;元數(shù)據(jù)被加載并創(chuàng)建為數(shù)據(jù)對象后,控件可根據(jù)綁定上下文自動獲取綁定的數(shù)據(jù),并在更改時同步更新綁定源;步驟304:數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過所述步驟302建立的綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。
[0023]在上述技術(shù)方案中,優(yōu)選地,所述步驟204,具體包括:步驟402:權(quán)限管理器管理權(quán)限的集合,權(quán)限集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置;步驟404:權(quán)限管理器提供權(quán)限創(chuàng)建的方法,以創(chuàng)建權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的所有權(quán)限;步驟406:權(quán)限管理器提供權(quán)限更新的方法,以更新權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的權(quán)限;步驟408:權(quán)限管理器提供權(quán)限校驗的方法,以校驗當(dāng)前權(quán)限下當(dāng)前活動是否允許執(zhí)行;步驟410:在每個權(quán)限中定義包含多個權(quán)限控制項的集合,每個控制項控制項目自身的活動或其它的數(shù)據(jù)的活動是否允許在該權(quán)限下執(zhí)行;該權(quán)限控制項集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置。
[0024]在上述技術(shù)方案中,優(yōu)選地,所述步驟402和/或所述步驟410在實際流程中對權(quán)限進(jìn)行靈活配置的操作,具體包括:在運行態(tài)根據(jù)實際需要擴(kuò)展、修改或新建;以及,所述步驟404提供的權(quán)限創(chuàng)建方法,具體包括:接收數(shù)據(jù)對象和權(quán)限設(shè)置數(shù)據(jù),判斷該接收數(shù)據(jù)的對應(yīng)權(quán)限是否存在:若存在,則返回權(quán)限已存在而不能創(chuàng)建的消息;若不存在,則創(chuàng)建該接收數(shù)據(jù)的權(quán)限實例數(shù)據(jù);以及,所述步驟406提供的權(quán)限更新方法,具體包括:接收數(shù)據(jù)對象和新舊權(quán)限設(shè)置數(shù)據(jù),如果新舊權(quán)限都為空,則返回權(quán)限未指定而不能更新的消息;如果新舊權(quán)限都不為空,則:首先讀取數(shù)據(jù)對象的舊權(quán)限,如果數(shù)據(jù)對象的舊權(quán)限不存在,則返回權(quán)限不存在而不能更新的消息;然后查詢數(shù)據(jù)對象是否存在新權(quán)限,如果數(shù)據(jù)對象存在新權(quán)限,則返回權(quán)限已存在而不能更新的消息;最后將舊權(quán)限替換為新權(quán)限,如果舊權(quán)限為空,則執(zhí)行創(chuàng)建權(quán)限過程;如果新權(quán)限為空,則刪除舊權(quán)限;以及,所述步驟408提供的權(quán)限校驗方法,具體包括:接收執(zhí)行者、數(shù)據(jù)對象和業(yè)務(wù)活動,首先讀取數(shù)據(jù)對象的當(dāng)前執(zhí)行者的當(dāng)前角色,然后讀取該角色的權(quán)限控制項集合,判定當(dāng)前活動是否允許執(zhí)行并返回結(jié)果O
[0025]在上述技術(shù)方案中,優(yōu)選地,所述步驟206,具體包括:步驟502:解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理;步驟504:基于所述步驟502觸發(fā)的權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,完成數(shù)據(jù)對象的權(quán)限控制邏輯;步驟506:基于所述步驟504完成的數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來;數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名。
[0026]通過以上技術(shù)方案,可以在現(xiàn)有的數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義方式基礎(chǔ)上,充分利用靜態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限完成動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限定義,建立動態(tài)數(shù)據(jù)訪問權(quán)限和行為權(quán)限參與的面向控制和動態(tài)擴(kuò)展數(shù)據(jù)訪問權(quán)限和行為權(quán)限的通用、統(tǒng)一定義思路。
【專利附圖】

【附圖說明】
[0027]圖1示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置的框圖;
[0028]圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法的流程圖;
[0029]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)綁定模塊的工作流程圖;
[0030]圖4示出了根據(jù)本發(fā)明的實施例的權(quán)限處理模塊的工作流程圖;
[0031]圖5示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)處理模塊的工作流程圖;
[0032]圖6示出了現(xiàn)有的數(shù)據(jù)對象的活動處理與業(yè)務(wù)數(shù)據(jù)(包括權(quán)限數(shù)據(jù))處理模塊間的交互流程圖;
[0033]圖7示出了現(xiàn)有的程序模塊設(shè)計和運行期間表現(xiàn)形式圖;
[0034]圖8示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)對象的權(quán)限控制邏輯圖;
[0035]圖9示出了根據(jù)本發(fā)明的實施例的以項目經(jīng)理為示例的權(quán)限管理對象層次結(jié)構(gòu)圖;
[0036]圖10示出了根據(jù)本發(fā)明的實施例的觸發(fā)權(quán)限控制邏輯處理機制圖;
[0037]圖11示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)對象的權(quán)限控制邏輯處理機制圖;
[0038]圖12示出了根據(jù)本發(fā)明的實施例的將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來的處理機制圖。
【具體實施方式】
[0039]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0040]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實施例的限制。
[0041]圖1示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置的框圖。
[0042]如圖1所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置100,包括:數(shù)據(jù)綁定模塊102,用于基于數(shù)據(jù)對象元數(shù)據(jù)建立綁定通道,通過綁定通道關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,并在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時更新權(quán)限數(shù)據(jù)對象的權(quán)限;權(quán)限處理模塊104,用于基于數(shù)據(jù)綁定模塊102關(guān)聯(lián)的數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法;數(shù)據(jù)處理模塊106,用于在權(quán)限處理模塊104實現(xiàn)權(quán)限管理的基礎(chǔ)上,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。在該技術(shù)方案中,可以通過在數(shù)據(jù)對象和權(quán)限數(shù)據(jù)之間建立關(guān)聯(lián),通過權(quán)限管理器對數(shù)據(jù)的權(quán)限進(jìn)行創(chuàng)建、更新、校驗和管理,在數(shù)據(jù)對象和權(quán)限管理器之間建立邏輯關(guān)聯(lián),從而將根據(jù)權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限,靈活性大,處理效率高。
[0043]在上述技術(shù)方案中,優(yōu)選地,數(shù)據(jù)綁定模塊102具體包括:綁定通道建立模塊,用于在數(shù)據(jù)對象元數(shù)據(jù)中指定綁定源和綁定路徑,建立綁定通道;元數(shù)據(jù)被加載并創(chuàng)建為數(shù)據(jù)對象后,控件可根據(jù)綁定上下文自動獲取綁定的數(shù)據(jù),并在更改時同步更新綁定源;關(guān)聯(lián)及更新模塊,用于數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過綁定通道建立模塊建立的綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。
[0044]在上述技術(shù)方案中,優(yōu)選地,權(quán)限處理模塊104具體包括:權(quán)限管理模塊,用于權(quán)限管理器管理權(quán)限的集合,權(quán)限集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置;權(quán)限創(chuàng)建模塊,用于權(quán)限管理器提供權(quán)限創(chuàng)建的方法,以創(chuàng)建權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的所有權(quán)限;權(quán)限更新模塊,用于權(quán)限管理器提供權(quán)限更新的方法,以更新權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的權(quán)限;權(quán)限校驗?zāi)K,用于權(quán)限管理器提供權(quán)限校驗的方法,以校驗當(dāng)前權(quán)限下當(dāng)前活動是否允許執(zhí)行;權(quán)限控制模塊,用于在每個權(quán)限中定義包含多個權(quán)限控制項的集合,每個控制項控制項目自身的活動或其它的數(shù)據(jù)的活動是否允許在該權(quán)限下執(zhí)行;該權(quán)限控制項集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置。
[0045]在上述技術(shù)方案中,優(yōu)選地,權(quán)限管理模塊和/或權(quán)限控制模塊在實際流程中對權(quán)限進(jìn)行靈活配置的操作,具體包括:在運行態(tài)根據(jù)實際需要擴(kuò)展、修改或新建;以及,權(quán)限創(chuàng)建模塊提供的權(quán)限創(chuàng)建方法,具體包括:接收數(shù)據(jù)對象和權(quán)限設(shè)置數(shù)據(jù),判斷該接收數(shù)據(jù)的對應(yīng)權(quán)限是否存在:若存在,則返回權(quán)限已存在而不能創(chuàng)建的消息;若不存在,則創(chuàng)建該接收數(shù)據(jù)的權(quán)限實例數(shù)據(jù);以及,權(quán)限更新模塊提供的權(quán)限更新方法,具體包括:接收數(shù)據(jù)對象和新舊權(quán)限設(shè)置數(shù)據(jù),如果新舊權(quán)限都為空,則返回權(quán)限未指定而不能更新的消息;如果新舊權(quán)限都不為空,則:首先讀取數(shù)據(jù)對象的舊權(quán)限,如果數(shù)據(jù)對象的舊權(quán)限不存在,則返回權(quán)限不存在而不能更新的消息;然后查詢數(shù)據(jù)對象是否存在新權(quán)限,如果數(shù)據(jù)對象存在新權(quán)限,則返回權(quán)限已存在而不能更新的消息;最后將舊權(quán)限替換為新權(quán)限,如果舊權(quán)限為空,則執(zhí)行創(chuàng)建權(quán)限過程;如果新權(quán)限為空,則刪除舊權(quán)限;以及,權(quán)限校驗?zāi)K提供的權(quán)限校驗方法,具體包括:接收執(zhí)行者、數(shù)據(jù)對象和業(yè)務(wù)活動,首先讀取數(shù)據(jù)對象的當(dāng)前執(zhí)行者的當(dāng)前角色,然后讀取該角色的權(quán)限控制項集合,判定當(dāng)前活動是否允許執(zhí)行并返回結(jié)果。
[0046]在上述技術(shù)方案中,優(yōu)選地,數(shù)據(jù)處理模塊106具體包括:事件處理模塊,用于解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理;插件處理模塊,用于基于事件處理模塊觸發(fā)的權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,完成數(shù)據(jù)對象的權(quán)限控制邏輯;服務(wù)調(diào)用模塊,用于基于插件處理模塊完成的數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來;數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名。
[0047]圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法的流程圖。
[0048]如圖2所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,包括:步驟202:基于數(shù)據(jù)對象元數(shù)據(jù)建立綁定通道,通過綁定通道關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,并在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時更新權(quán)限數(shù)據(jù)對象的權(quán)限;步驟204:基于步驟202關(guān)聯(lián)的數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法;步驟206:在步驟204實現(xiàn)權(quán)限管理的基礎(chǔ)上,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。在該技術(shù)方案中,可以通過在數(shù)據(jù)對象和權(quán)限數(shù)據(jù)之間建立關(guān)聯(lián),通過權(quán)限管理器對數(shù)據(jù)的權(quán)限進(jìn)行創(chuàng)建、更新、校驗和管理,在數(shù)據(jù)對象和權(quán)限管理器之間建立邏輯關(guān)聯(lián),從而將根據(jù)權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限,靈活性大,處理效率高。
[0049]在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟202具體包括:步驟302:在數(shù)據(jù)對象元數(shù)據(jù)中指定綁定源和綁定路徑,建立綁定通道;元數(shù)據(jù)被加載并創(chuàng)建為數(shù)據(jù)對象后,控件可根據(jù)綁定上下文自動獲取綁定的數(shù)據(jù),并在更改時同步更新綁定源;步驟304:數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過步驟302建立的綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。
[0050]在上述技術(shù)方案中,優(yōu)選地,如圖4所示,步驟204具體包括:步驟402:權(quán)限管理器管理權(quán)限的集合,權(quán)限集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置;步驟404:權(quán)限管理器提供權(quán)限創(chuàng)建的方法,以創(chuàng)建權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的所有權(quán)限;步驟406:權(quán)限管理器提供權(quán)限更新的方法,以更新權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的權(quán)限;步驟408:權(quán)限管理器提供權(quán)限校驗的方法,以校驗當(dāng)前權(quán)限下當(dāng)前活動是否允許執(zhí)行;步驟410:在每個權(quán)限中定義包含多個權(quán)限控制項的集合,每個控制項控制項目自身的活動或其它的數(shù)據(jù)的活動是否允許在該權(quán)限下執(zhí)行;該權(quán)限控制項集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置。
[0051]在上述技術(shù)方案中,優(yōu)選地,步驟402和/或步驟410在實際流程中對權(quán)限進(jìn)行靈活配置的操作,具體包括:在運行態(tài)根據(jù)實際需要擴(kuò)展、修改或新建;以及,步驟404提供的權(quán)限創(chuàng)建方法,具體包括:接收數(shù)據(jù)對象和權(quán)限設(shè)置數(shù)據(jù),判斷該接收數(shù)據(jù)的對應(yīng)權(quán)限是否存在:若存在,則返回權(quán)限已存在而不能創(chuàng)建的消息;若不存在,則創(chuàng)建該接收數(shù)據(jù)的權(quán)限實例數(shù)據(jù);以及,步驟406提供的權(quán)限更新方法,具體包括:接收數(shù)據(jù)對象和新舊權(quán)限設(shè)置數(shù)據(jù),如果新舊權(quán)限都為空,則返回權(quán)限未指定而不能更新的消息;如果新舊權(quán)限都不為空,則:首先讀取數(shù)據(jù)對象的舊權(quán)限,如果數(shù)據(jù)對象的舊權(quán)限不存在,則返回權(quán)限不存在而不能更新的消息;然后查詢數(shù)據(jù)對象是否存在新權(quán)限,如果數(shù)據(jù)對象存在新權(quán)限,則返回權(quán)限已存在而不能更新的消息;最后將舊權(quán)限替換為新權(quán)限,如果舊權(quán)限為空,則執(zhí)行創(chuàng)建權(quán)限過程;如果新權(quán)限為空,則刪除舊權(quán)限;以及,步驟408提供的權(quán)限校驗方法,具體包括:接收執(zhí)行者、數(shù)據(jù)對象和業(yè)務(wù)活動,首先讀取數(shù)據(jù)對象的當(dāng)前執(zhí)行者的當(dāng)前角色,然后讀取該角色的權(quán)限控制項集合,判定當(dāng)前活動是否允許執(zhí)行并返回結(jié)果。
[0052]在上述技術(shù)方案中,優(yōu)選地,如圖5所示,步驟206具體包括:步驟502:解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理;步驟504:基于步驟502觸發(fā)的權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,完成數(shù)據(jù)對象的權(quán)限控制邏輯;步驟506:基于步驟504完成的數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來;數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名。
[0053]例如,在本發(fā)明的技術(shù)方案中,為實現(xiàn)針對數(shù)據(jù)在不同生命周期階段需要控制不同的訪問權(quán)限和行為權(quán)限,本發(fā)明提出一種通過數(shù)據(jù)綁定、權(quán)限處理(事件處理或插件機制或服務(wù)調(diào)用或Α0Ρ)和數(shù)據(jù)處理來實現(xiàn)的實現(xiàn)方法。其中,數(shù)據(jù)綁定實現(xiàn)數(shù)據(jù)對象到權(quán)限數(shù)據(jù)的映射,使數(shù)據(jù)對象可以從權(quán)限邏輯中獨立出來,并在權(quán)限數(shù)據(jù)和數(shù)據(jù)對象之間保持關(guān)聯(lián);數(shù)據(jù)處理完成數(shù)據(jù)對象的活動對數(shù)據(jù)對象的變更影響,同時進(jìn)行權(quán)限的定義和控制處理;權(quán)限處理主要有以下幾種方式:
[0054]⑴事件處理機制,解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理;
[0055]⑵插件機制,是另一種解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系的方法,權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,從而完成數(shù)據(jù)對象的權(quán)限控制邏輯;
[0056]⑶方法調(diào)用,是數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,這種機制下,數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名,不依賴于其內(nèi)部邏輯,從功能上將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來。
[0057]⑷AOP實現(xiàn),是另一種解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系的方法,權(quán)限控制邏輯實現(xiàn)為權(quán)限控制AOP方面,數(shù)據(jù)對象的活動標(biāo)記需要處理權(quán)限AOP,執(zhí)行活動時,通過AOP機制自動觸發(fā)權(quán)限控制,從而完成數(shù)據(jù)對象的權(quán)限控制邏輯;如圖8所示。
[0058]具體地,本發(fā)明技術(shù)方案的實現(xiàn)過程可以如下:
[0059]㈠數(shù)據(jù)綁定
[0060]作為一項現(xiàn)有的通用技術(shù),數(shù)據(jù)綁定簡化了應(yīng)用程序開發(fā)。數(shù)據(jù)綁定技術(shù)是實現(xiàn)數(shù)據(jù)對象及活動與權(quán)限邏輯分離方法的基礎(chǔ)。
[0061]數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。這樣,避免了由活動邏輯模塊處理權(quán)限邏輯并轉(zhuǎn)換為數(shù)據(jù)對象數(shù)據(jù)的操作。同時,綁定機制動態(tài)更改綁定上下文,同一個權(quán)限可處理不同的數(shù)據(jù)對象而不需做出改動。
[0062]例如,在項目管理模塊中,項目的權(quán)限根據(jù)不同的項目類型會有不同的權(quán)限個數(shù)。定義為項目數(shù)據(jù)和權(quán)限數(shù)據(jù):
[0063]行為權(quán)限定義
[0064]
【權(quán)利要求】
1.一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,其特征在于,包括: 數(shù)據(jù)綁定模塊,用于基于數(shù)據(jù)對象元數(shù)據(jù)建立綁定通道,通過綁定通道關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,并在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時更新權(quán)限數(shù)據(jù)對象的權(quán)限; 權(quán)限處理模塊,用于基于所述數(shù)據(jù)綁定模塊關(guān)聯(lián)的數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法; 數(shù)據(jù)處理模塊,用于在所述權(quán)限處理模塊實現(xiàn)權(quán)限管理的基礎(chǔ)上,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,其特征在于,所述數(shù)據(jù)綁定模塊,具體包括: 綁定通道建立模塊,用于在數(shù)據(jù)對象元數(shù)據(jù)中指定綁定源和綁定路徑,建立綁定通道;元數(shù)據(jù)被加載并創(chuàng)建為數(shù)據(jù)對象后,控件可根據(jù)綁定上下文自動獲取綁定的數(shù)據(jù),并在更改時同步更新綁定源; 關(guān)聯(lián)及更新模塊,用于數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過所述綁定通道建立模塊建立的綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,其特征在于,所述權(quán)限處理模塊,具體包括: 權(quán)限管理模塊,用于權(quán)限管理器管理權(quán)限的集合,權(quán)限集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置; 權(quán)限創(chuàng)建模塊,用于權(quán)限管理器提供權(quán)限創(chuàng)建的方法,以創(chuàng)建權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的所有權(quán)限; 權(quán)限更新模塊,用于權(quán)限管理器提供權(quán)限更新的方法,以更新權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的權(quán)限; 權(quán)限校驗?zāi)K,用于權(quán)限管理器提供權(quán)限校驗的方法,以校驗當(dāng)前權(quán)限下當(dāng)前活動是否允許執(zhí)行; 權(quán)限控制模塊,用于在每個權(quán)限中定義包含多個權(quán)限控制項的集合,每個控制項控制項目自身的活動或其它的數(shù)據(jù)的活動是否允許在該權(quán)限下執(zhí)行;該權(quán)限控制項集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,其特征在于,所述權(quán)限管理模塊和/或所述權(quán)限控制模塊在實際流程中對權(quán)限進(jìn)行靈活配置的操作,具體包括: 在運行態(tài)根據(jù)實際需要擴(kuò)展、修改或新建;以及, 所述權(quán)限創(chuàng)建模塊提供的權(quán)限創(chuàng)建方法,具體包括: 接收數(shù)據(jù)對象和權(quán)限設(shè)置數(shù)據(jù),判斷該接收數(shù)據(jù)的對應(yīng)權(quán)限是否存在:若存在,則返回權(quán)限已存在而不能創(chuàng)建的消息;若不存在,則創(chuàng)建該接收數(shù)據(jù)的權(quán)限實例數(shù)據(jù);以及, 所述權(quán)限更新模塊提供的權(quán)限更新方法,具體包括: 接收數(shù)據(jù)對象和新舊權(quán)限設(shè)置數(shù)據(jù),如果新舊權(quán)限都為空,則返回權(quán)限未指定而不能更新的消息; 如果新舊權(quán)限都不為空,則:首先讀取數(shù)據(jù)對象的舊權(quán)限,如果數(shù)據(jù)對象的舊權(quán)限不存在,則返回權(quán)限不存在而不能更新的消息;然后查詢數(shù)據(jù)對象是否存在新權(quán)限,如果數(shù)據(jù)對象存在新權(quán)限,則返回權(quán)限已存在而不能更新的消息;最后將舊權(quán)限替換為新權(quán)限,如果舊權(quán)限為空,則執(zhí)行創(chuàng)建權(quán)限過程;如果新權(quán)限為空,則刪除舊權(quán)限;以及, 所述權(quán)限校驗?zāi)K提供的權(quán)限校驗方法,具體包括: 接收執(zhí)行者、數(shù)據(jù)對象和業(yè)務(wù)活動,首先讀取數(shù)據(jù)對象的當(dāng)前執(zhí)行者的當(dāng)前角色,然后讀取該角色的權(quán)限控制項集合,判定當(dāng)前活動是否允許執(zhí)行并返回結(jié)果。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義裝置,其特征在于,所述數(shù)據(jù)處理模塊,具體包括: 事件處理模塊,用于解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理; 插件處理模塊,用于基于所述事件處理模塊觸發(fā)的權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,完成數(shù)據(jù)對象的權(quán)限控制邏輯; 服務(wù)調(diào)用模塊,用于基于所述插件處理模塊完成的數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開 來;數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名。
6.一種數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,其特征在于,包括: 步驟202:基于數(shù)據(jù)對象元數(shù)據(jù)建立綁定通道,通過綁定通道關(guān)聯(lián)數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,并在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時更新權(quán)限數(shù)據(jù)對象的權(quán)限; 步驟204:基于所述步驟202關(guān)聯(lián)的數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象,管理權(quán)限的集合,提供權(quán)限的創(chuàng)建、更新和校驗方法; 步驟206:在所述步驟204實現(xiàn)權(quán)限管理的基礎(chǔ)上,通過事件處理或插件機制或服務(wù)調(diào)用,將數(shù)據(jù)對象和權(quán)限管理器建立邏輯關(guān)聯(lián)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,其特征在于,所述步驟202,具體包括: 步驟302:在數(shù)據(jù)對象元數(shù)據(jù)中指定綁定源和綁定路徑,建立綁定通道;元數(shù)據(jù)被加載并創(chuàng)建為數(shù)據(jù)對象后,控件可根據(jù)綁定上下文自動獲取綁定的數(shù)據(jù),并在更改時同步更新綁定源; 步驟304:數(shù)據(jù)對象和權(quán)限數(shù)據(jù)對象經(jīng)過所述步驟302建立的綁定通道直接關(guān)聯(lián),更改通知機制負(fù)責(zé)在數(shù)據(jù)新增或執(zhí)行業(yè)務(wù)角色分配時通知權(quán)限數(shù)據(jù)最新的權(quán)限,權(quán)限數(shù)據(jù)對象同步記錄最新的權(quán)限。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,其特征在于,所述步驟204,具體包括: 步驟402:權(quán)限管理器管理權(quán)限的集合,權(quán)限集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置; 步驟404:權(quán)限管理器提供權(quán)限創(chuàng)建的方法,以創(chuàng)建權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的所有權(quán)限; 步驟406:權(quán)限管理器提供權(quán)限更新的方法,以更新權(quán)限、并通過數(shù)據(jù)綁定獲取數(shù)據(jù)對象的權(quán)限; 步驟408:權(quán)限管理器提供權(quán)限校驗的方法,以校驗當(dāng)前權(quán)限下當(dāng)前活動是否允許執(zhí)行; 步驟410:在每個權(quán)限中定義包含多個權(quán)限控制項的集合,每個控制項控制項目自身的活動或其它的數(shù)據(jù)的活動是否允許在該權(quán)限下執(zhí)行;該權(quán)限控制項集合允許在設(shè)計態(tài)設(shè)置,同時支持在實際流程中對權(quán)限進(jìn)行靈活配置。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,其特征在于,所述步驟402和/或所述步驟410在實際流程中對權(quán)限進(jìn)行靈活配置的操作,具體包括: 在運行態(tài)根據(jù)實際需要擴(kuò)展、修改或新建;以及, 所述步驟404提供的權(quán)限創(chuàng)建方法,具體包括: 接收數(shù)據(jù)對象和權(quán)限設(shè)置數(shù)據(jù),判斷該接收數(shù)據(jù)的對應(yīng)權(quán)限是否存在:若存在,則返回權(quán)限已存在而不能創(chuàng)建的消息;若不存在,則創(chuàng)建該接收數(shù)據(jù)的權(quán)限實例數(shù)據(jù);以及, 所述步驟406提供的權(quán)限更新方法,具體包括: 接收數(shù)據(jù)對象和新舊權(quán)限設(shè)置數(shù)據(jù),如果新舊權(quán)限都為空,則返回權(quán)限未指定而不能更新的消息; 如果新舊權(quán)限都不為空,則:首先讀取數(shù)據(jù)對象的舊權(quán)限,如果數(shù)據(jù)對象的舊權(quán)限不存在,則返回權(quán)限不存在而不能更新的消息;然后查詢數(shù)據(jù)對象是否存在新權(quán)限,如果數(shù)據(jù)對象存在新權(quán)限,則返回權(quán)限已存在而不能更新的消息;最后將舊權(quán)限替換為新權(quán)限,如果舊權(quán)限為空,則執(zhí)行創(chuàng)建權(quán)限過程;如果新權(quán)限為空,則刪除舊權(quán)限;以及, 所述步驟408提供的權(quán)限校驗方法,具體包括: 接收執(zhí)行者、數(shù)據(jù)對象和業(yè)務(wù)活動,首先讀取數(shù)據(jù)對象的當(dāng)前執(zhí)行者的當(dāng)前角色,然后讀取該角色的權(quán)限控制項集合,判定當(dāng)前活動是否允許執(zhí)行并返回結(jié)果。
10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)訪問權(quán)限和行為權(quán)限的定義方法,其特征在于,所述步驟206,具體包括: 步驟502:解除數(shù)據(jù)對象的活動處理和權(quán)限控制邏輯代碼間的依賴關(guān)系,權(quán)限控制邏輯通過偵聽數(shù)據(jù)對象的活動發(fā)出的事件,觸發(fā)權(quán)限控制邏輯處理; 步驟504:基于所述步驟502觸發(fā)的權(quán)限控制邏輯按照數(shù)據(jù)對象的活動特定的插件規(guī)范,將權(quán)限控制邏輯處理作為一個插件注冊進(jìn)數(shù)據(jù)對象的活動的插件列表,數(shù)據(jù)對象活動讀取注冊的插件,完成數(shù)據(jù)對象的權(quán)限控制邏輯; 步驟506:基于所述步驟504完成的數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)對象的活動處理通過顯式調(diào)用權(quán)限單元提供的權(quán)限控制邏輯方法完成數(shù)據(jù)對象的權(quán)限控制邏輯,將數(shù)據(jù)活動和權(quán)限邏輯區(qū)隔開來;數(shù)據(jù)對象活動處理只依賴于權(quán)限單元提供的權(quán)限控制邏輯方法的簽名。
【文檔編號】G06F21/62GK103646218SQ201310683562
【公開日】2014年3月19日 申請日期:2013年12月12日 優(yōu)先權(quán)日:2013年12月12日
【發(fā)明者】羅濤 申請人:用友軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1