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