專利名稱:數據權限管理裝置和方法
技術領域:
本發明涉及數據管理技術,具體而言,涉及數據權限管理裝置和方法。
背景技術:
在當前企業所采用的信息系統當中,不論是何種業務應用,如財務、CRM(客戶資源)、HR(人力資源)等,為了實現對其信息數據的保護,權限管理模塊都是不可或缺的系統組成部分,而權限本身針對不同的用戶操作又劃分為功能權限和數據權限兩種類型。功能權限泛指“創建”、“導入”、“停用/啟用”等與當前存在業務數據無關的操作限制,而數據權限主要包括對“查詢”、“修改”、“刪除”依賴于具體數據內容的操作限制(如員工A只能查詢本人或者下級部門員工創建的數據),因此數據權限控制相對來說較為復雜,而目前大部分信息系統對于數據權限的控制均采用單一的線性控制或是樹狀層級控制,如圖1、圖2所示,且控制位元素簡單,多是布爾或下級權限擴散。如果針對特定公司復雜人員機構的業務場景,而在圖3中,每一個員工隸屬于3個維度部門+業務+區域,且每一個維度都有其自身的數據控制權限,往往需要進行權限冗余配置或個性化權限模塊開發來達到用戶需求。 因此不但產品本身通用性、移植性較差,而且占用了大量的開發與實施資源。因此,需要一種新的數據權限管理技術,可以使用戶根據實際情況在運行時靈活配置權限管理,通過后臺維度擴展和層級擴展實現對復雜的多維度人員組織關系權限的管理。
發明內容
本發明正是基于上述問題,提出了一種新的數據權限管理技術,可以使用戶根據實際情況在運行時靈活配置權限管理,通過后臺維度擴展和層級擴展實現對復雜的多維度人員組織關系權限的管理。有鑒于此,本發明提出了一種數據權限管理裝置,包括生成模塊,生成為所述數據定義的至少一個管理維度,所述管理維度包括至少一個層級;選擇模塊,在所述生成模塊生成的所述管理維度中,選擇需要的管理維度;設定模塊,為用戶設定對應的管理維度,或為所述用戶設定對應于所述管理維度的層級的數據權限;以及存儲模塊,存儲所述用戶、所述管理維度與所述數據權限之間的對應關系。在該技術方案中,首先由用戶設定可能需要用到的管理維度,這里可能只是簡單的單一維度,也可以是多個維度,根據用戶的需要可以隨意設定。在每一個維度中,可能存在一個或者多個層級,如設定了“區域”和“部門”這兩個維度,而對于“區域”還可能包括“北京市”和“上海市”等第二級維度,而“北京市”又可能包括“海淀區”、“宣武區”和“豐臺區”等三個第三級維度,這樣,由上述共三個等級的維度,構成了一個維度下的三個層級。而對于設定好的多個維度以及某個維度下的多個層級, 也可以進行進一步選擇出用戶需要使用的維度和層級。然后,通過用戶給予每個維度或層級下的權限,便可以對多維度的權限進行管理。在上述技術方案中,優選地,所述生成模塊還用于生成至少一個角色;所述設定模塊還用于為所述角色設定對應的管理維度,或為所述角色設定對應于所述管理維度的層級的數據權限,或將至少一個所述用戶與至少一個所述角色進行對應,其中,一個所述用戶對應于至少一個所述角色,或一個所述角色對應于至少一個所述用戶;以及所述存儲模塊還用于存儲所述用戶與所述角色之間的對應關系及所述角色、所述管理維度與所述數據權限之間的對應關系。在該技術方案中,通過對每個用戶所述的維度和層級進行設定,使用戶獲取對應的權限,從而達到對每個用戶的權限進行管理。也可以通過設定角色,這個角色是指擁有某些維度和層級的權限的一類人,從而再將設定好的角色與用戶進行關聯后, 實現對用戶權限的批量設定,簡化操作。在上述技術方案中,優選地,所述設定模塊還用于為所述管理維度設定對應的使用方式,所述使用方式用于對所述管理維度的層級選擇進行定義。在該技術方案中,對于用戶設定的多個層級,用戶可以根據實際情況,選擇需要使用的層級。可以通過設定對層級的選擇方式,如只能使用一個層級或可以同時使用多個層級,從而方便用戶的管理。在上述技術方案中,優選地,包括所述數據權限用于定義所述用戶在所述管理維度的層級限制下對所述數據的訪問過程,所述訪問過程包括對所述數據的讀取、添加、修改和/或刪除。在該技術方案中,設定的權限可以是對于數據的操作權限,當然,對于如利用數據進行一些運算、傳輸等操作也顯然包含于其中。在上述技術方案中,優選地,所述數據權限包括特殊權限,所述特殊權限不受所述管理維度的所述層級限制。在該技術方案中,還可以對一些特殊的用戶設定特殊權限,如超級管理員,具有該權限的用戶可以不受上述設定的限制,便于及時進行管理。根據本發明的又一方面,還提出了一種數據權限管理方法,包括步驟402,為所述數據定義至少一個管理維度,所述管理維度包括至少一個層級;步驟404,從所述管理維度中選擇需要的管理維度;步驟406,為用戶設定對應的管理維度,并為所述用戶設定對應于所述管理維度的層級的數據權限,以及存儲所述用戶、所述管理維度與所述數據權限之間的對應關系。在該技術方案中,首先由用戶設定可能需要用到的管理維度,這里可能只是簡單的單一維度,也可以是多個維度,根據用戶的需要可以隨意設定。在每一個維度中,可能存在一個或者多個層級,如設定了 “區域”和“部門”這兩個維度,而對于“區域”還可能包括“北京市”和“上海市”等第二級維度,而“北京市”又可能包括“海淀區”、“宣武區”和 “豐臺區”等三個第三級維度,這樣,由上述共三個等級的維度,構成了一個維度下的三個層級。而對于設定好的多個維度以及某個維度下的多個層級,也可以進行進一步選擇出用戶需要使用的維度和層級。然后,通過用戶給予每個維度或層級下的權限,便可以對多維度的權限進行管理。在上述技術方案中,優選地,所述步驟406包括定義至少一個角色,為所述角色設定對應的管理維度,并為所述角色設定對應于所述管理維度的層級的數據權限,以及將至少一個所述用戶與至少一個所述角色進行對應,然后存儲所述用戶與所述角色之間的對應關系及所述角色、所述管理維度與所述數據權限之間的對應關系,其中,一個所述用戶對應于至少一個所述角色,或一個所述角色對應于至少一個所述用戶。在該技術方案中,通過對每個用戶所述的維度和層級進行設定,使用戶獲取對應的權限,從而達到對每個用戶的權限進行管理。也可以通過設定角色,這個角色是指擁有某些維度和層級的權限的一類人, 從而再將設定好的角色與用戶進行關聯后,實現對用戶權限的批量設定,簡化操作。
在上述技術方案中,優選地,所述步驟404還包括為所述管理維度設定對應的使用方式,所述使用方式用于對所述管理維度的層級選擇進行定義。在該技術方案中,對于用戶設定的多個層級,用戶可以根據實際情況,選擇需要使用的層級。可以通過設定對層級的選擇方式,如只能使用一個層級或可以同時使用多個層級,從而方便用戶的管理。在上述技術方案中,優選地,所述數據權限用于定義所述用戶在所述管理維度的層級限制下對所述數據的訪問過程,所述訪問過程包括對所述數據的讀取、添加、修改和/ 或刪除。在該技術方案中,設定的權限可以是對于數據的操作權限,當然,對于如利用數據進行一些運算、傳輸等操作也顯然包含于其中。在上述技術方案中,優選地,所述數據權限包括特殊權限,所述特殊權限不受所述管理維度的所述層級限制。在該技術方案中,還可以對一些特殊的用戶設定特殊權限,如超級管理員,具有該權限的用戶可以不受上述設定的限制,便于及時進行管理。通過以上技術方案,可以使用戶根據實際情況在運行時靈活配置權限管理,通過后臺維度擴展和層級擴展實現對復雜的多維度人員組織關系權限的管理。
圖1示出了相關技術的權限管理的結構圖;圖2示出了相關技術的權限管理的結構圖;圖3示出了相關技術的權限管理的結構圖;圖4示出了根據本發明的實施例的數據權限管理裝置的框圖;圖5示出了根據本發明的實施例的數據權限管理方法的流程圖;圖6示出了根據本發明的實施例的數據權限管理方法的具體流程圖;圖7示出了根據本發明的實施例的維度設定的示意圖;圖8示出了根據本發明的實施例的層級設定的示意圖;圖9示出了根據本發明的實施例的使用方式設定的示意圖;圖IOA示出了根據本發明的實施例的選擇使用方式的示意圖;圖IOB示出了根據本發明的實施例的選擇使用方式的示意圖;圖11示出了根據本發明的實施例的生成角色的示意圖;圖12示出了根據本發明的實施例的將用戶添加進角色的示意圖;圖13示出了根據本發明的實施例的多維度權限數據組織關系的結構圖;以及圖14示出了根據本發明的實施例的獲取數據權限的流程圖。
具體實施例方式為了能夠更清楚地理解本發明的上述目的、特征和優點,下面結合附圖和具體實施方式
對本發明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節以便于充分理解本發明,但是,本發明還可以采用其他不同于在此描述的其他方式來實施,因此,本發明并不限于下面公開的具體實施例的限制。圖4示出了根據本發明的實施例的數據權限管理裝置的框圖。如圖4所示,根據本發明的實施例的數據權限管理裝置400,包括生成模塊402,生成為數據定義的至少一個管理維度,管理維度包括至少一個層級;選擇模塊404,在生成模塊生成的管理維度中,選擇需要的管理維度;設定模塊406,為用戶設定對應的管理維度,或為用戶設定對應于管理維度的層級的數據權限;以及存儲模塊408,存儲用戶、管理維度與數據權限之間的對應關系。在該技術方案中,首先由用戶設定可能需要用到的管理維度,這里可能只是簡單的單一維度,也可以是多個維度,根據用戶的需要可以隨意設定。 在每一個維度中,可能存在一個或者多個層級,如設定了 “區域”和“部門,,這兩個維度,而對于“區域”還可能包括“北京市”和“上海市”等第二級維度,而“北京市”又可能包括“海淀區”、“宣武區”和“豐臺區”等三個第三級維度,這樣,由上述共三個等級的維度,構成了一個維度下的三個層級。而對于設定好的多個維度以及某個維度下的多個層級,也可以進行進一步選擇出用戶需要使用的維度和層級。然后,通過用戶給予每個維度或層級下的權限, 便可以對多維度的權限進行管理。在上述技術方案中,生成模塊402還用于生成至少一個角色;設定模塊406還用于為角色設定對應的管理維度,或為角色設定對應于管理維度的層級的數據權限,或將至少一個用戶與至少一個角色進行對應,其中,一個用戶對應于至少一個角色,或一個角色對應于至少一個用戶;以及存儲模塊408還用于存儲用戶與角色之間的對應關系及角色、管理維度與數據權限之間的對應關系。在該技術方案中,通過對每個用戶的維度和層級進行設定,使用戶獲取對應的權限,從而達到對每個用戶的權限進行管理。也可以通過設定角色,這個角色是指擁有某些維度和層級的權限的一類人,從而再將設定好的角色與用戶進行關聯后,實現對用戶權限的批量設定,簡化操作。在上述技術方案中,優選地,所述設定模塊還用于為所述管理維度設定對應的使用方式,所述使用方式用于對所述管理維度的層級選擇進行定義。在該技術方案中,對于用戶設定的多個層級,用戶可以根據實際情況,選擇需要使用的層級。可以通過設定對層級的選擇方式,如只能使用一個層級或可以同時使用多個層級,從而方便用戶的管理。在上述技術方案中,包括數據權限用于定義用戶在管理維度的層級限制下對數據的訪問過程,訪問過程包括對數據的讀取、添加、修改和/或刪除。在該技術方案中,設定的權限可以是對于數據的操作權限,當然,對于如利用數據進行一些運算、傳輸等操作也顯然包含于其中。在上述技術方案中,數據權限包括特殊權限,該特殊權限不受管理維度的層級限制。在該技術方案中,還可以對一些特殊的用戶設定特殊權限,如超級管理員,具有該權限的用戶可以不受上述設定的限制,便于及時進行管理。圖5示出了根據本發明的實施例的數據權限管理方法的流程圖。如圖5所示,根據本發明的實施例的數據權限管理方法,包括步驟502,為數據定義至少一個管理維度,管理維度包括至少一個層級;步驟504,從管理維度中選擇需要的管理維度;步驟506,為用戶設定對應的管理維度,并為用戶設定對應于管理維度的層級的數據權限,以及存儲用戶、管理維度與數據權限之間的對應關系。在該技術方案中,首先由用戶設定可能需要用到的管理維度,這里可能只是簡單的單一維度,也可以是多個維度,根據用戶的需要可以隨意設定。在每一個維度中,可能存在一個或者多個層級,如設定了“區域” 和“部門”這兩個維度,而對于“區域”還可能包括“北京市”和“上海市”等第二級維度,而 “北京市”又可能包括“海淀區”、“宣武區”和“豐臺區”等三個第三級維度,這樣,由上述共三個等級的維度,構成了一個維度下的三個層級。而對于設定好的多個維度以及某個維度下的多個層級,也可以進行進一步選擇出用戶需要使用的維度和層級。然后,通過用戶給予每個維度或層級下的權限,便可以對多維度的權限進行管理。在上述技術方案中,步驟506包括定義至少一個角色,為角色設定對應的管理維度,并為角色設定對應于管理維度的層級的數據權限,以及將至少一個用戶與至少一個角色進行對應,然后存儲用戶與角色之間的對應關系及角色、管理維度與數據權限之間的對應關系,其中,一個用戶對應于至少一個角色,或一個角色對應于至少一個用戶。在該技術方案中,通過對每個用戶所述的維度和層級進行設定,使用戶獲取對應的權限,從而達到對每個用戶的權限進行管理。也可以通過設定角色,這個角色是指擁有某些維度和層級的權限的一類人,從而再將設定好的角色與用戶進行關聯后,實現對用戶權限的批量設定,簡化操作。在上述技術方案中,步驟504還包括為管理維度設定對應的使用方式,使用方式用于對管理維度的層級選擇進行定義。在該技術方案中,對于用戶設定的多個層級,用戶可以根據實際情況,選擇需要使用的層級。可以通過設定對層級的選擇方式,如只能使用一個層級或可以同時使用多個層級,從而方便用戶的管理。在上述技術方案中,數據權限用于定義所述用戶在管理維度的層級限制下對數據的訪問過程,訪問過程包括對數據的讀取、添加、修改和/或刪除。在該技術方案中,設定的權限可以是對于數據的操作權限,當然,對于如利用數據進行一些運算、傳輸等操作也顯然包含于其中。在上述技術方案中,數據權限包括特殊權限,特殊權限不受管理維度的層級限制。 在該技術方案中,還可以對一些特殊的用戶設定特殊權限,如超級管理員,具有該權限的用戶可以不受上述設定的限制,便于及時進行管理。圖6示出了根據本發明的實施例的數據權限管理方法的具體流程圖。如圖6所示,進行本發明的數據權限管理的方法,具體步驟如下步驟602,定義系統管理維度,這里是指用戶出于實際情況考慮,可以對可能有的管理維度進行定義,具體如圖7所示,在維度設定界面702中,用戶定義了業務結構704、區域結構706,還可以定義管理維度3708、管理維度4710等更多維度,對于維度的定義數量上沒有限定。同時,對于已經定義了的維度,可以在不進行刪除的前提下,通過維度選擇界面 712進行相應的操作,選定其中用戶認為需要的維度。此外,對于每一個維度,還包括一個或多個層級,具體如圖8所示,在層級設定界面802中,包括廣東省804、廣州806、東莞808和北京810等層級,其中,廣東省804和北京 810屬于同一級,而廣州806和東莞808屬于同一級,且廣州806和東莞808為廣東省804 的下一級。通過層級設定界面,可以由用戶進行層級的設定,上述是對“區域結構”這一維度下的層級進行的定義,而顯然的,對于每一個維度均可以進行相應的層級定義。而對于已經定義了的層級,可以在層級編輯界面812進行編輯,即可以繼續進一步的選擇、修改等。步驟604,設置維度層級使用方式,每個維度下包括一個或多個層級,可以對這些層級的使用方式進行設置,具體如圖9所示,在使用方式設定界面904,可以對操作對象902 中的各個層級進行使用方式的設定,如不使用906、單選&不限級別908、多選&不限級別 910、單選&只允許末級912和多選&只允許末級914等,設定后的效果,如對于多選&不
8限級別910,設定好之后,如圖IOA所示,在使用方式選擇界面1004中,對于區域結構1006 而言,可以對廣東省1008、廣州1010、東莞1012和北京1014進行多選,從上述描述已經說明,這里的廣東省1008和北京1014為同一級,而廣州1010和東莞1012為同一級且均為廣東省1008的下一級,由于設定為不限級別的多選,因此可以對上述兩個級別下進行任意選擇,而如果設定為單選&不限級別,則如圖IOB所示,在使用方式選擇界面10040中,只能對廣東省10080、廣州10100、東莞10120和北京10140中的某一個層級進行選擇,而如果設定為只能選擇末級,則只能對廣州10100和東莞10120進行選擇,而對于還有下一級的廣東省 10080和北京10140則無法進行選擇。步驟606,設置員工隸屬維度層級,這里首先要看用戶希望進行何種方式的設定, 也就是步驟608。步驟608,判斷是否進行員工獨立配置,若進行獨立配置則進入步驟610,否則進入步驟612。步驟610,設置員工對各個維度中系統業務對象數據控制規則,這里具體如圖11 所示,可以通過維度選擇界面1102進行維度的選擇,從而對各個維度進行設定,可以通過操作對象1104的界面觀察到可進行操作的對象,也可以通過操作方式1106界面進行相應的編輯操作。具體對于每個維度下的每個操作對象而言,可以對每個可能的操作方式的權限進行設定,如設定為本級1108、本級及下級1110或全部1112,其中本級1108即只能查看在各個維度下與其級別相同的對象數據,本級及下級1110可以查看在各個維度下級別與其級別相同或低于其級別的對象數據,全部1112則可以查看所有數據。步驟612,定義角色,這是另一種設置員工隸屬維度層級的方式,這里的角色是具有相同數據權限的一類人。步驟614,設置角色內的各個維度中系統業務對象數據控制規則,這里為定義好的角色設定其數據權限。角色可以為一個或多個,若員工的種類較多,需要定義多套數據權限,則可以定義多個角色,若全部為權限相同的員工,則僅定義一個角色即可,根據用戶的實際情況進行設定。步驟616,將員工加入到角色,這里可以看到對于角色的定義的意義,其在于,員工可能數量眾多,而其中屬于一個部門或區域等的一定數目的員工,其數據權限可能為相同, 此時,若一個個進行定義顯然費時費力,因此通過定義一個角色,并為這個角色設定與上述員工相同的數據權限,然后將這些員工添加到該角色中,即可完成對這些員工的權限設定, 如圖12所示,對于操作對象1202中的administrator、員工1和員工2是即將被加入到定義好的角色中的員工,而操作結果1204中的員工3則是已經被添加的員工,通過操作區域 1206可以將操作對象1202中的員工移入操作結果1204中,完成設定,也可以將操作界面 1204中的員工移回到操作對象1202中,從而設定為其他權限。當然,若對于單個或只有幾個員工的情況下,進行單獨的操作更方便,而當操作對象1202中為數十、上百或更多員工時,進行角色的定義則顯得十分必要。圖13示出了根據本發明的實施例的多維度權限數據組織關系的結構圖。如圖13所示,在該根據本發明的實施例的多維度權限數據組織關系中,包括管理維度定義數據的組織存儲管理維度的定義存儲于tc_priVilegel302中,用戶每定義一個類型的管理維度,就會在數據庫中創建一張與之相對應的層級數據子表,用于存儲在此維度下定義的層級關系,其表命名規則為tC_privilege[i]_level_infO1306([i]為管理維度定義的順序)。
tc_privilegel302中的關鍵字段如表1所示。
權利要求
1.一種數據權限管理裝置,其特征在于,包括生成模塊,生成為所述數據定義的至少一個管理維度,所述管理維度包括至少一個層級;選擇模塊,在所述生成模塊生成的所述管理維度中,選擇需要的管理維度; 設定模塊,為用戶設定對應的管理維度,或為所述用戶設定對應于所述管理維度的層級的數據權限;以及存儲模塊,存儲所述用戶、所述管理維度與所述數據權限之間的對應關系。
2.根據權利要求1所述的數據權限管理裝置,其特征在于,所述生成模塊還用于生成至少一個角色;所述設定模塊還用于為所述角色設定對應的管理維度,或為所述角色設定對應于所述管理維度的層級的數據權限,或將至少一個所述用戶與至少一個所述角色進行對應,其中,一個所述用戶對應于至少一個所述角色,或一個所述角色對應于至少一個所述用戶;以及所述存儲模塊還用于存儲所述用戶與所述角色之間的對應關系及所述角色、所述管理維度與所述數據權限之間的對應關系。
3.根據權利要求1所述的數據權限管理裝置,其特征在于,所述設定模塊還用于為所述管理維度設定對應的使用方式,所述使用方式用于對所述管理維度的層級選擇進行定義。
4.根據權利要求1至3中任一項所述的數據權限管理裝置,其特征在于,包括 所述數據權限用于定義所述用戶在所述管理維度的層級限制下對所述數據的訪問過程,所述訪問過程包括對所述數據的讀取、添加、修改和/或刪除。
5.根據權利要求4所述的數據權限管理裝置,其特征在于,包括所述數據權限包括特殊權限,所述特殊權限不受所述管理維度的所述層級限制。
6.一種數據權限管理方法,其特征在于,包括步驟402,為所述數據定義至少一個管理維度,所述管理維度包括至少一個層級; 步驟404,從所述管理維度中選擇需要的管理維度;步驟406,為用戶設定對應的管理維度,并為所述用戶設定對應于所述管理維度的層級的數據權限,以及存儲所述用戶、所述管理維度與所述數據權限之間的對應關系。
7.根據權利要求6所述的數據權限管理方法,其特征在于,所述步驟406包括 定義至少一個角色,為所述角色設定對應的管理維度,并為所述角色設定對應于所述管理維度的層級的數據權限,以及將至少一個所述用戶與至少一個所述角色進行對應,然后存儲所述用戶與所述角色之間的對應關系及所述角色、所述管理維度與所述數據權限之間的對應關系,其中,一個所述用戶對應于至少一個所述角色,或一個所述角色對應于至少一個所述用戶。
8.根據權利要求6所述的數據權限管理方法,其特征在于,所述步驟404還包括為所述管理維度設定對應的使用方式,所述使用方式用于對所述管理維度的層級選擇進行定義。
9.根據權利要求6至8中任一項所述的數據權限管理方法,其特征在于,包括所述數據權限用于定義所述用戶在所述管理維度的層級限制下對所述數據的訪問過程,所述訪問過程包括對所述數據的讀取、添加、修改和/或刪除。
10.根據權利要求9所述的數據權限管理方法,其特征在于,包括 所述數據權限包括特殊權限,所述特殊權限不受所述管理維度的所述層級限制。
全文摘要
本發明提供了一種數據權限管理裝置和方法,包括生成模塊,生成為所述數據定義的至少一個管理維度,所述管理維度包括至少一個層級;選擇模塊,在所述生成模塊生成的所述管理維度中,選擇需要的管理維度;設定模塊,為用戶設定對應的管理維度,或為所述用戶設定對應于所述管理維度的層級的數據權限;以及存儲模塊,存儲所述用戶、所述管理維度與所述數據權限之間的對應關系。通過本發明的技術方案,可以使用戶根據實際情況在運行時靈活配置權限管理,通過后臺維度擴展和層級擴展實現對復雜的多維度人員組織關系權限的管理。
文檔編號G06F21/00GK102354356SQ20111029493
公開日2012年2月15日 申請日期2011年9月29日 優先權日2011年9月29日
發明者楊曉康 申請人:用友軟件股份有限公司