在PLM系統中,要保證數據對象的安全性以及易操作性,使企業的各業務部門、職能部門能夠方便而且高效的協同工作,那么一個好的數據權限管理設計就成為一個關鍵的問題。雖然企業中各個單元的工作流程有所不同,處理的數據對象也有所不同.但是在組織結構、信息的處理方式上具有很多相同的地方,這就為設計數據對象的權限控制提供了一個抽象基礎。數據權限的控制不同于一般的功能權限的控制,一般的功能權限指的是某個用戶、角色或者是某個用戶組能不能操作某種功能:而數據權限指的是某個用戶、角色或者是某個用戶組肘某個數據對象的操作幅度的問題,比如說用戶A可以對數據對象進行完全控制,而用戶B則只能對數據對象進行瀏覽的權限,同時數據權限控制隸屬于動態權限控制的范疇。本文提出了一種基于權限規則的數據對象權限控制機制。
1 影響權限規則的因素
一條權限規則包括控制主體、控制客體以及對控制客體的相關操作。本文中的控制主體包括3種類型:用戶、用戶組以及用戶角色:控制客體包括數據對象、業務對象等。
在PLM系統中,每個產品的結構文檔以及各個零部件,都看作是一個具體的對象,而這些對象都有相應的生命周期以及存儲位置,而每個數據對象的操作需要具體的系統用戶去完成,而用戶對數據對象的操作要滿足對某個數據對象進行操作的權限,比如說用戶A只能操作A文件夾中的A對象,從上述分析可以看出影響數據權限控制的4個影響因素是:控制主體、數據對象所處的狀態、數據對象的存儲位置以及一般功能權限,如圖1所示。
圖1 影響權限規劃的因素
2 數據對象的動態訪問控制設計
數據對象的權限控制分為靜態權限控制和動態權限控制。靜態的權限控制不會隨肴數據對象的變化而變化,這種權限控制是已經預先設置好的,是一種被動式的權限控制;而動態權限控制和數據對象的動態變化息息相關。當某個數據對象變化以后,同一個用戶對此數據對象的權限也會發生變化,原先的權限就會失效,此時變化后的數據對象會被賦予新的操作,用戶也會得到新的權限。
不管是靜態權限控制還是動態權限控制,可以通過權限規則進行數據對象的權限管理。所謂的權限規則義稱為權限策略,是用來描述數據對象進入到某個特定的狀態后用戶能對數據對象進行何種操作。一條權限規則包括擰制主體、控制客體以及可以操作的行為,而對于某個數據對象可以定義多條權限規則,這些規則共同決定了對該數據對象的權限控制。其中規則定義了如下權限規則:
1)控制主體的優先級:用戶>角色>用戶組。
2)否定優先:控制主體對同一控制客體同時具有肯定和否定權限時,否定權限優先。
3)操作行為的優先級:在PLM系統中,具體的操作行為以及操作行為的優先級由系統用戶進行自定義。
PLM系統中的數據對象是動態變化的,同時數據對象是具有生命周期的,為了維護生命周期模板的一致性,本文采用的是在數據對象的生命周期模板外部進行映射的方法來設置數據對象的權限。這樣做的好處是當組織結構發生變化的時候,不需要修改生命周期模版,通用性較高。缺點是當某個用戶完成了對某個數據對象的操作之后需要重新為此數據對象設置新的權限,要在外部重新映射。
本文根據PLM系統中設定的權限規則給出數據權限映射的形式化描述。
1)定義U表示用戶集合,U{ui|l≤i≤n},ui表示的是任何一個用戶。
2)定義G表示的是用戶組的集合,用戶組是多個用戶組成的一個集合,則G可以表示為:G={gi|l≤i≤n}
3)定義R表示的是用戶角色的集合,角色是規定某些用戶使用系統的優先級,則R可以表示為:R={ri|l≤i≤n}
4)定義OS表示的是數據對象的集合,是權限規則中的控制客體,則OS可以表示為OS={OSi|l≤i≤n},OSi表示任意一個數據對象。
5)定義F表示的是功能集,此處提到的功能是對數據對象進行訪問的時候可以進行的操作,本文用F表示一個功能的集合,包括瀏覽、創建、刪除等功能。
6)定義UG表示的是用戶到用戶組的映射。UG∈U×C表示的是用戶和用戶組之間的多對多的映射關系。G(ui)={(ui,g)∈UC|g∈G,l≤i≤n}表示任何一個用戶可以對應著一個用戶組的集合。
7)定義UOS表示的是用戶到數據對象集合的映射。UOS∈U×OS表示的是用戶和數據對象之間多對多的映射關系。user→aOS,a∈N表示一個用戶到一個數據對象集合的映射。
8)定義GOS表示的是用戶組到數據對象集合的映射。COS∈U×OS表示的是用戶組和數據對象之間多對多的映射關系。role→aOS,a∈N表示一個角色組到一個數據對象集合的映射。
9)定義ROS表示的是角色到數據對象集合的映射。ROS∈R×OS表示的是用戶組和數據對象之間多對多的映射關系。group→aOS,a∈N表示一個用戶組到一個數據對象集合的映射。
10)定義EP為一個集合,表示的是對數據對象的相關操作的優先級。
11)定義UP為一個集合,表示的是控制主體的優先級,文巾定義了3個主體:用戶、角色和用戶組,那么UP={0,1,2},值越小優先級越高。
12)定義UPL為控制主體的集合,VPL=(UOS,GOS,ROS)UPr。
13)定義FL為帶優先級操作的集合,FL=F FPr
14)定義RUS表示的是某個數據對象OSi的權限規則。從上述描述中知道,每個權限規則是有控制主體、控制客體和操作組成。則RUS∈UPL×FL表示的某個數據對象OSi的數據權限規則集合。
從上面的14個形式化定義可以知道,某個數據對象OSi的數據權限規則集合RUS(OSi)∈UPL(OSi)×FL(OSi),這樣就可以得出某個數據對象所擁有的權限,然后系統管理員按照具體的要求分配權限即可。
3 基于.NET的數據權限控制驗證
本文基于.NET設計和驗證此模型的正確性相通用性。首先我們根據文中給出的形式化描述給出數據權限設置的UML類圖,如圖2所示。
圖2 數據權限設計類圖
在實際的PLM系統中,通常分為兩類數據權限控制,第一種是對存儲數據對象的文件央的權限設置,第二種是對數據對象直接設置權限。根據此模型開發的PLM系統在許多大中型制造業中得到了應用,比如說在汽車制造業中的應用。
舉例驗證此模型的正確性。首先驗證的是對文件夾的授權。在PLM系統中,文件夾權限規則所包含的控制客體是用戶和角色兩個對象。如圖3所示。
圖3 對文件夾進行授權
而對數據對象直接授權的情況,首先在設計業務流程的時候,預先設置執行人,然后在設置此執行人對某個數據對象的具體的操作。例如在PLM系統巾面對cat圖紙這個文檔設置相關的操作權限,如圖4所示。
圖4 對數據對象設置權限
4 結論
本文主要研究問題是如何控制處于不同狀態的數據對象所擁有的數據權限,提出了基于權限規則和在數據對象外部映射權限的形式化定義,最后基于.NET實現了數據對象的權限控制,并且通過實際的PLM系統驗證了此數據權限模型的正確性。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:PLM系統中數據權限控制研究
本文網址:http://www.guhuozai8.cn/html/solutions/14019318945.html