機床設(shè)計行業(yè)自身的特點是:設(shè)計工作量大,生產(chǎn)技術(shù)準備周期長。這種特點在精密機床上表現(xiàn)得尤為明顯。由于每種機床的設(shè)計參數(shù)不同,結(jié)構(gòu)各異,產(chǎn)品設(shè)計工作的重復率低。
一般來說,對應于不同的機床產(chǎn)品,都要重復進行設(shè)計、工藝、工裝、技術(shù)文件的準備,設(shè)計任務量特別大,參與設(shè)計的部門多,時間跨度長,設(shè)計過程復雜,產(chǎn)品數(shù)據(jù)和設(shè)計過程管理難度大。數(shù)控機床信息集成系統(tǒng)是一個面向多部門、多用戶的信息集成系統(tǒng),系統(tǒng)的訪問要求嚴格,既要求權(quán)限清晰分明,又要求防止權(quán)限的濫用,需要實現(xiàn)權(quán)限的最小化。傳統(tǒng)的訪問控制,例如自主型訪問控制(DAC),強制型訪問控制(MAC)直接對用戶進行權(quán)限的授予和取消。當用戶數(shù)量龐大且關(guān)系復雜時,權(quán)限的管理就變得復雜而困難。一個新權(quán)限的加入或者修改都可能導致需對源代碼進行的修改。信息集成系統(tǒng)一般由很多個子系統(tǒng)組成,子系統(tǒng)由很多模塊組成,模塊又由很多功能項組成。
本文提出 RBAC 技術(shù)在數(shù)控機床信息集成系統(tǒng)中的應用,在信息集成系統(tǒng)中設(shè)計和實現(xiàn)基于角色的訪問控制,有效的解決在機床設(shè)計過程中錯綜復雜的訪問權(quán)限控制問題。
1. 系統(tǒng)方案模型
1.1 J2EE 架構(gòu)
采用 J2EE 企業(yè)平臺架構(gòu)構(gòu)建數(shù)控機床信息集成系統(tǒng)。J2EE架構(gòu)集成了先進的軟件體系架構(gòu)思想,具有采用多層分布式應用模型、基于組件并能重用組件、統(tǒng)一完全模型和靈活的事務處理控制等特點。本信息集成系統(tǒng)邏輯上分為四層:客戶層、應用層、業(yè)務層和持久層,如圖 1 所示。
圖 1 信息集成系統(tǒng)邏輯結(jié)構(gòu)圖
a. 客戶層主要負責人機交互??梢允褂脩敉ㄟ^Web 瀏覽器訪問,也可以提供不同業(yè)務系統(tǒng)的API、Web Service 調(diào)用。
b. 應用層封裝了用來提供通過Web 訪問本系統(tǒng)的客戶端的表示層邏輯的服務。
c. 業(yè)務層提供業(yè)務服務,包括業(yè)務數(shù)據(jù)和業(yè)務邏輯,集中了系統(tǒng)業(yè)務處理。主要的業(yè)務管理模塊包括項目管理、人員組織管理、設(shè)計信息管理和權(quán)限管理等幾個部分。
d. 資源層主要負責數(shù)據(jù)的存儲、組織和管理等。資源層提供了大型關(guān)系型數(shù)據(jù)庫(如Microsoft SQL Server)的訪問。
1.2 RBAC 模型
RBAC[5]即角色訪問控制(Role Based Access Control)是由美國Ravi Sandhu 提出的,它解決了具有大量用戶,數(shù)據(jù)客體和各種訪問權(quán)限的系統(tǒng)中的授權(quán)管理問題。其中主要涉及用戶,角色,訪問權(quán)限,會話等概念。用戶,角色,訪問權(quán)限三者之間是多對多的關(guān)系。角色和會話的設(shè)置帶來的好處是容易實施最小權(quán)限原則。在RBAC 模型中,將若干特定的用戶集合和某種授權(quán)連接在一起。這樣的授權(quán)管理與個體授權(quán)相比較,具有強大的可操作性和可管理性,因為角色的變動遠遠少于個體的變動。通過引入RBAC 模型,系統(tǒng)的最終用戶并沒有與數(shù)據(jù)對象有直接的聯(lián)系,而是通過角色這個中間層來訪問后臺數(shù)據(jù)信息。在應用層次上角色的邏輯意義和劃分更為明顯和直接,因此RBAC 通常使用于應用層的安全模型。
RBAC 區(qū)別于原有的角色/用戶,采用新型的角色/權(quán)限關(guān)系,具有以下兩個優(yōu)點:
1) 減小了授權(quán)管理的復雜性,降低管理開銷。
2) 靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。
目的是為了隔離 User(即動作主體,Subject)與Privilege(權(quán)限,表示對Resource 的一個操作,即Operation+Resource)。
Role 作為一個用戶(User)與權(quán)限(Privilege)的代理層,解耦了權(quán)限和用戶的關(guān)系,所有的授權(quán)應該給予Role 而不是直接給User 或Group。Privilege 是權(quán)限顆粒,由Operation 和Resource 組成,表示對Resource 的一個Operation。Role-Privilege 是many-to-many 的關(guān)系,這就是權(quán)限的核心。
在以往常見的模型中,對不同數(shù)據(jù)訪問權(quán)限的控制主要通過不同用戶進入不同的系統(tǒng)界面來實現(xiàn),這樣做的缺點是用戶的角色不能設(shè)置太多,角色越多,所需要編寫的系統(tǒng)界面就越多,這對于數(shù)控機床的實際的設(shè)計過程來說,會大大加重編程的難度并降低信息集成系統(tǒng)完全實現(xiàn)的可能性。為應對盡可能多的角色要求,本文提出一種通過分析各種角色的權(quán)限,來規(guī)定不同的角色的權(quán)限的方法來控制各個用戶的權(quán)限?;诮巧脑L問控制示意圖如圖2所示。
圖2 基于角色的訪問控制示意圖
基于角色的訪問控制機制不同于以往的單層用戶權(quán)限控制,其在傳統(tǒng)的用戶權(quán)限控制中加入一層角色層,帶來以下優(yōu)點:
1). 權(quán)限設(shè)置更加靈活多樣
通過基于角色的訪問控制分離了用戶層和權(quán)限層,使得不必規(guī)定某個特定用戶所具有的權(quán)限,而只需把權(quán)限分成若干集合,這樣的集合就是角色。
2). 編程實現(xiàn)更加方便
傳統(tǒng)的用戶權(quán)限機制通過給不同用戶設(shè)置界面入口來實現(xiàn)賦予不同用戶的不同權(quán)限,這樣,每添加一個用戶,就需要改變整個系統(tǒng)的框架。而在用戶層和權(quán)限層中加入角色層,可以使添加用戶變得簡潔,并且通過修改角色層來實現(xiàn)權(quán)限的賦予,會使編程變得簡單。
2 用戶需求的分析
在信息集成系統(tǒng)中,所涉及的用戶有很多種,從以下的分析就可以看出信息集成系統(tǒng)的權(quán)限控制的復雜性。在實際情況中,遠不止下面所列的三種用戶,這三種用戶是最為常見的用戶,對于數(shù)控機床的開發(fā)來說,還會有電氣控制部分的設(shè)計人員,加工程序的設(shè)計人員等。
1). CAD 用戶的需求分析
本信息集成系統(tǒng)的一個重要功能之一是數(shù)控機床床身的可視化設(shè)計??梢暬O(shè)計的一般過程是指定的設(shè)計者根據(jù)自己的任務調(diào)出要修改的基本機床零件的三維模型據(jù),發(fā)現(xiàn)與目標模型的差別,并修改基本構(gòu)件以形成新設(shè)計零件。設(shè)計過程中要隨時與其它環(huán)節(jié)聯(lián)絡(luò),并檢查與不打算修改的構(gòu)件或總成的干涉與協(xié)調(diào)。CAD 軟件是商業(yè)化三維軟件,如Pro/E 等。在調(diào)出具體的CAD 三維數(shù)據(jù)模型前,設(shè)計者可能需要對該件進行瀏覽,因此將車身零部件的VRML 模型存入數(shù)據(jù)庫。為了和其它不使用Pro/E 的人員進行模型數(shù)據(jù)庫交流,還可以生成并保存STEP 文件;當然,為了能方便地找到這些數(shù)據(jù),數(shù)據(jù)庫內(nèi)還必須保存參照機床零部件的件號、件名等信息,另外,諸如零部件的二維圖圖紙?zhí)?、版本號、日期等也是不可或缺的信息。對干?shù)控機床,還應有該產(chǎn)品的一些說明文件。最后,為了使設(shè)計者在早期對所設(shè)計的構(gòu)件的動態(tài)特征有所把握,CAD 工作人員應能從數(shù)據(jù)庫獲取CAE 人員對參考機床構(gòu)件及設(shè)計模型動態(tài)分析后的信息,因此存有CAE 分析結(jié)果圖和分析結(jié)果描述文件。歸納CAD 人員的需求清單如下:
件號、件名、版本、CAD 模型數(shù)據(jù)、VRML 模型數(shù)據(jù)、STEP 文件、日期等。
2). CAE 用戶的需求分析
CAE 分析人員在接受到一個新的CAD 模型STEP 文件時,他需要能立即從數(shù)據(jù)庫里查找到該部件在參考機床上的典型載荷,他可能還需要知道在該部件中哪個或哪些零件比較關(guān)鍵,從而應該對其進行重點研究并通知CAD 設(shè)計人員。在對新的模型進行了分析計算后,他需要調(diào)出參照機床中對應模型的分析結(jié)果來進行比較判斷。分析結(jié)果包括該模型的靜態(tài)分析以及各階模態(tài)分析。歸納CAE 用戶的需求清單如下:
件號、件名、版本、CAE 模型、典型載荷圖、靜態(tài)結(jié)果、模態(tài)分析結(jié)果、結(jié)果說明等。
3). 管理人員的需求分析
在企業(yè)內(nèi)部,管理人員因部門不同,項目不同,他們的需求也是各式各樣。在本系統(tǒng)中,以企業(yè)設(shè)計部門級的信息管理定位,故取項目信息管理來統(tǒng)一綜合處理有關(guān)信息,因為任何一件設(shè)計活動都可以定義為一個項目,也必定屬于某個項目,項目間的時序、隸屬和成果的給出和轉(zhuǎn)移就是設(shè)計活動的表現(xiàn)形式,其中的信息就是設(shè)計活動的動態(tài)信息。比如,有關(guān)人事信息的需求簡單概括為:管理人員可以知道某部件是由哪些人,在什么時間設(shè)計的,以及這些人員的相關(guān)信息。管理人員需求說明清單如下:
件號、件名、設(shè)計人工號、設(shè)計人姓名、設(shè)計人所屬角色、設(shè)計人所屬部門、設(shè)計人職務、電話號碼、E-mail 地址等。
3 權(quán)限管理數(shù)據(jù)庫設(shè)計
根據(jù)RBAC 模型的權(quán)限設(shè)計思想,建立權(quán)限管理系統(tǒng)的核心對象模型。如圖3 所示。
圖3 基于角色的數(shù)據(jù)庫結(jié)構(gòu)
對象模型中包含的基本元素主要有:用戶、用戶組、角色、角色權(quán)限、數(shù)據(jù)對象、資源對象、功能和操作。主要的關(guān)系有:分配角色權(quán)限、分配用戶角色。在基于角色的數(shù)據(jù)庫結(jié)構(gòu)中:
1) 用戶:是權(quán)限的擁有者或主體。用戶和權(quán)限實現(xiàn)分離,通過授權(quán)管理進行綁定。
2) 用戶組:一組用戶的集合,具有相同的權(quán)限分配。
3) 角色:權(quán)限分配的單位與載體。角色通過繼承關(guān)系支持分級的權(quán)限實現(xiàn)。
4) 操作:完成資源的類別和訪問策略之間的綁定。
5) 權(quán)限:對受保護的資源操作的訪問許可,是綁定在特定的資源實例上的。對應地,訪問
策略和資源類別相關(guān),不同的資源類別可能采用不同的訪問模式。例如,頁面具有能打開、不能打開的訪問模式,菜單具有顯示、不顯示的訪問模式,文本編輯框具有可編輯、不可編輯的訪問模式。同一資源的訪問策略可能存在排斥和包含關(guān)系。例如,某個數(shù)據(jù)的可修改訪問模式就包含了可查詢訪問模式。
4 方案的具體實現(xiàn)
用戶的登錄之后,查找該用戶在數(shù)據(jù)庫中所對應的權(quán)限并在同一界面中顯示不同的菜單模塊,繼而控制該用戶可以操作的功能模塊。在建立角色過程中,角色權(quán)限(role_privilege)可通過若干個func_id 累加而成;在程序運行中解析角色權(quán)限是個相反的過程,要將role_privilege 與func_id 聯(lián)系,來將role_privilege 分解為權(quán)限,以圖2 為例,角色權(quán)限為1 表示角色具有功能1 到功能4 的所有權(quán)限,而角色權(quán)限為2 表示角色同時具有角色權(quán)限1 所具有的權(quán)限并具有功能5 和功能6的權(quán)限。
我們可以把以上權(quán)限關(guān)系表示成 Role 2>Role 1,從某種意義上來說,Role 2 是Role 1的繼承,這意味著Role 2 具有Role 1 所有的功能,所有的較高層次的角色繼承了較低層次的角色的功能。這種繼承我們可以理解為一個用戶的所具有的功能多于另一個用戶,可以表示成Role 1>Role 2<=>Role 1.Function>Role 2.Function。
5 結(jié)語
本文論述了一種基于RBAC 模型的數(shù)控機床信息集成系統(tǒng)的實現(xiàn)技術(shù)方案。該權(quán)限管理模型已成功應用于系統(tǒng)的設(shè)計和開發(fā)。實踐表明,采用基于RBAC 模型的權(quán)限具有以下優(yōu)勢:權(quán)限分配直觀、容易理解,便于使用;擴展性好,支持權(quán)限多變的需求;分級權(quán)限適合分層的組織結(jié)構(gòu)形式;重用性強。
-
軟件
+關(guān)注
關(guān)注
69文章
5152瀏覽量
89208 -
CAD
+關(guān)注
關(guān)注
18文章
1114瀏覽量
74304 -
數(shù)控機床
+關(guān)注
關(guān)注
19文章
829瀏覽量
48058
發(fā)布評論請先 登錄
數(shù)控機床技術(shù)資料
數(shù)控機床維修技術(shù)及維修實例分析
數(shù)控機床的控制系統(tǒng)
數(shù)控機床習題
數(shù)控機床緒論
數(shù)控機床原理與系統(tǒng)

基于RBAC的數(shù)控機床信息集成系統(tǒng)
什么是數(shù)控機床?什么叫數(shù)控機床?

數(shù)控機床的組成

數(shù)控機床有什么用_數(shù)控機床的應用范圍
關(guān)于數(shù)控機床一體機在數(shù)控機床上的應用分析

評論