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