摘 要:本文描述了MES對(duì)訪問(wèn)控制及權(quán)限管理技術(shù)的需求,對(duì)利用ZK等軟件框架實(shí)現(xiàn)MES的訪問(wèn)控制及權(quán)限管理技術(shù)的進(jìn)行了探討。論述了制造執(zhí)行系統(tǒng)訪問(wèn)控制及權(quán)限管理技術(shù)的整體架構(gòu),并論述了利用ZK框架及Spring Security技術(shù)實(shí)現(xiàn)訪問(wèn)控制及權(quán)限管理技術(shù)的過(guò)程。
關(guān)鍵詞:權(quán)限控制;權(quán)限管理;ZK;MES
中圖分類(lèi)號(hào):TP393.08
離散型MES(Manufacturing Execution System,制造執(zhí)行系統(tǒng))需要對(duì)車(chē)間內(nèi)各部門(mén)的管理數(shù)據(jù)進(jìn)行集成。MES作為制造企業(yè)生產(chǎn)管理控制信息集成的樞紐,如何實(shí)現(xiàn)對(duì)分屬不同部門(mén)的信息資源進(jìn)行訪問(wèn)控制,是MES正常運(yùn)行和保證生產(chǎn)管理控制信息安全的關(guān)鍵。本文以在某柴油發(fā)動(dòng)機(jī)數(shù)控加工車(chē)間建設(shè)的MES為例,詳細(xì)說(shuō)明基于WEB的車(chē)間制造執(zhí)行系統(tǒng)訪問(wèn)控制技術(shù)的實(shí)現(xiàn)過(guò)程。
1 車(chē)間制造執(zhí)行系統(tǒng)構(gòu)建
本系統(tǒng)采用基于WEB的多層技術(shù)架構(gòu)。為了滿(mǎn)足系統(tǒng)的實(shí)際功能及性能需求并適應(yīng)車(chē)間管理的業(yè)務(wù)模式,本系統(tǒng)特別采用了ZK框架來(lái)作為其表現(xiàn)層,主要實(shí)現(xiàn)請(qǐng)求處理、界面響應(yīng)等功能。ZK是一個(gè)事件驅(qū)動(dòng)(event-driven)的,基于組件(component-based)的AJAX框架。利用ZK框架,不需撰寫(xiě)JavaScript,即可開(kāi)發(fā)出具有Ajax豐富互動(dòng)效果的網(wǎng)頁(yè)型應(yīng)用程序,軟件的操作風(fēng)格是C/S的。業(yè)務(wù)邏輯層采用Spring框架,車(chē)間的生產(chǎn)管理控制的主要邏輯都是在這里實(shí)現(xiàn)。主要包括生產(chǎn)管理、工藝管理、資源管理、系統(tǒng)管理、質(zhì)量管理、狀態(tài)監(jiān)控等功能模塊。在生產(chǎn)管理的過(guò)程中用到的數(shù)據(jù)存儲(chǔ)在Oracle數(shù)據(jù)庫(kù)中。
2 制造執(zhí)行系統(tǒng)訪問(wèn)控制技術(shù)整體架構(gòu)
軟件的安全性管理對(duì)一個(gè)成熟軟件來(lái)說(shuō)是至關(guān)重要的,因?yàn)檫@關(guān)乎軟件系統(tǒng)所涉及的數(shù)據(jù)的安全性,也是軟件能夠正常運(yùn)行的基礎(chǔ)。在上述的車(chē)間制造執(zhí)行系統(tǒng)軟件架構(gòu),根據(jù)基于角色的資源訪問(wèn)控制機(jī)制,在選擇了開(kāi)放源代碼的Spring Security框架開(kāi)發(fā)車(chē)間制造執(zhí)行系統(tǒng)的訪問(wèn)控制模塊。該框架是業(yè)界流行的成熟的安全框架,并且該安全框架能夠與本軟件系統(tǒng)所用的主要軟件框架表現(xiàn)層的ZK和邏輯層的SPRING很好地融合在一起,ZK框架專(zhuān)門(mén)開(kāi)發(fā)了與Spring集成的軟件模塊——ZKSpring,這個(gè)模塊中包含了Spring Security的功能。從圖中可以看出,系統(tǒng)的訪問(wèn)控制功能主要在車(chē)間制造執(zhí)行系統(tǒng)的系統(tǒng)管理模塊,該模塊通過(guò)ZK框架的ZKSpring模塊利用Spring框架中的Spring Security模塊來(lái)實(shí)現(xiàn)對(duì)信息資源的訪問(wèn)控制。
3 系統(tǒng)訪問(wèn)控制技術(shù)實(shí)現(xiàn)過(guò)程
本車(chē)間制造執(zhí)行系統(tǒng)是基于Spring框架的,因此將Spring Security集成到車(chē)間制造執(zhí)行系統(tǒng)是十分容易的。關(guān)鍵是本軟件系統(tǒng)的表現(xiàn)層框架ZK是基于AJAX技術(shù)的,里面有很多的事件響應(yīng)的過(guò)程,如何把Spring Security安全機(jī)制與ZK的這種基于組件事件響應(yīng)的機(jī)制有機(jī)地結(jié)合起來(lái)是在本系統(tǒng)內(nèi)應(yīng)用Spring Security安全機(jī)制的關(guān)鍵。ZK框架已經(jīng)實(shí)現(xiàn)了與Spring框架的集成,在實(shí)現(xiàn)與Spring框架的集成的過(guò)程中,考慮了與Spring Security框架的集成。通過(guò)ZK框架與Spring Security框架的集成,本系統(tǒng)實(shí)現(xiàn)了基于角色的資源訪問(wèn)控制機(jī)制,對(duì)資源的訪問(wèn)控制達(dá)到了事件級(jí),即對(duì)同一程序頁(yè)面中的不同按鈕、菜單都實(shí)現(xiàn)了事件訪問(wèn)控制,比如同一頁(yè)面中的兩個(gè)按鈕,根據(jù)登錄用戶(hù)的權(quán)限不同,有的用戶(hù)可以觸發(fā)兩個(gè)按鈕的單擊事件,有的只能觸發(fā)一個(gè)。
本系統(tǒng)的初始界面是全部對(duì)外開(kāi)放的,進(jìn)入系統(tǒng)后,用戶(hù)能看到所有的資源和功能模塊,可以點(diǎn)擊任意的按鈕或菜單,但之后需進(jìn)行登錄操作,系統(tǒng)根據(jù)用戶(hù)的權(quán)限決定是否允許其觸發(fā)單擊事件。當(dāng)用戶(hù)具有該資源的訪問(wèn)權(quán)限時(shí),則顯示登錄成功界面,可以訪問(wèn)相應(yīng)的信息資源。如果無(wú)權(quán)訪問(wèn)該資源,則顯示無(wú)權(quán)限的提示界面。
4 權(quán)限管理技術(shù)
增加角色和刪除角色為我們需要關(guān)注的權(quán)限管理模塊,通過(guò)這兩個(gè)功能模塊可以對(duì)用戶(hù)所具有的角色進(jìn)行增減,從而增加或減少用戶(hù)能夠訪問(wèn)的資源。根據(jù)車(chē)間生產(chǎn)管理的實(shí)際需求,定義各角色權(quán)限分配表如下:
5 結(jié)束語(yǔ)
本軟件系統(tǒng)所使用的訪問(wèn)控制及權(quán)限管理技術(shù),主要針對(duì)ZK框架下的管理界面的某功能模塊的響應(yīng)事件。控制了這些響應(yīng)事件,就控制了對(duì)資源的訪問(wèn)權(quán)。ZK框架在Spring框架的支持下集成Spring Security安全框架,從而使本車(chē)間制造執(zhí)行系統(tǒng)具有了成熟的企業(yè)級(jí)的安全管理機(jī)制。
參考文獻(xiàn):
[1]張世昌.先進(jìn)制造技術(shù)[M].天津:天津大學(xué)出版社,2004.
[2]江平宇.網(wǎng)絡(luò)化制造電子服務(wù)理論與技術(shù)[M].北京:科學(xué)出版社,2004.
[3]劉飛.制造系統(tǒng)工程[M].北京:國(guó)防工業(yè)出版社,2004.
作者簡(jiǎn)介:崔萬(wàn)瑞(1973.02-),男,吉林德惠人,副主任,高級(jí)工程師,碩士,研究方向:數(shù)字化制造。
作者單位:長(zhǎng)春設(shè)備工藝研究所,長(zhǎng)春 130012