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