• 沒有找到結果。

第五章 以 PRMRX 建構法建置中小學薪資系統

5.4 RBAC 管理模組的實作

PRMRX 建構法將 Petri net 流程圖以角色觀點,依各流程中牽涉的角色 不同,將流程轉換為不同的 MVC 模組,由不同的角色負責不同的 MVC 模組 的工作,減化程式實作的規模,縮減實作中 MVC 模組當中相關的資料庫表 格數量,降低實作的複雜度;並以使用者、角色及 MVC 模組的觀點實作獨 立於薪水流程的 RBAC 權限管理模組[1][23],控管流程中不同角色的執行 權限。

53

例如薪水製作流程,以工作執行及資源配置的觀點進行 Petri net 流 程圖的繪製,而 RBAC 權限控管模組則是以 MVC 模組、角色及使用者三者的 關係為觀點,進行權限的控管,由於兩者規劃的觀點不同,因此,將 PRMRX 建構法的 RBAC 權限控管模組獨立於薪水製作流程的各 MVC 模組之外,另外 繪製 Petri net 圖形,撰寫獨立於薪水製作流程的權限控管 MVC 模組。

MVC 權限控管模組的主要目的是以角色作為權限控管的樞紐,以管理使 用者、角色及 MVC 模組三者之間的關係;根據 RBAC 的觀點設定使用者、角 色及 MVC 模組及三者間的關係,適當地將 MVC 模組的執行權限分配給不同 角色,再將使用者設定為不同的角色,讓使用者透過設定為適當的角色而 能執行不同的 MVC 模組,以便簡化使用者權限設定上的複雜度。

如圖 5-14 所示,使用 Petri net 繪製 RBAC 權限管理模組中使用者、

角色及 MVC 程式模組三者間的關係,進行權限設定時,即以角色為中心,

分別設定角色與 MVC 模組的關係及角色與使用者的關係。

圖 5-14:RBAC 權限控管模組 Petri net 流程圖

圖 5-15 的資料庫關連圖中,rbac_module 資料表代表圖 5-14 的 MVC 程 式模組,rbac_role 資料表代表圖 5-14 的角色,rbac_user 代表圖 5-14 的 使 用 者 , 至 於 rbac_module_role 代 表 MVC 模 組 與 角 色 的 關 係 , rbac_role_user 則代表角色與使用者的關係。

底下表 5-2、5-3、5-4、5-5 及 5-6 各資料表分別代表 MVC 程式模組資

54

料表、角色資料表、使用者資料表、MVC 程式模組與角色關係資料表及角色 與使用者關係資料表。

圖 5-15:RBAC 權限控管模組資料庫關連圖

表 5-2:rbac_module(MVC 程式模組資料表)

欄位名稱 欄位意義

id 流水號(primary key)

name 模組名稱

description 模組描述

表 5-3:rbac_role(角色資料表)

欄位名稱 欄位意義

id 流水號(primary key)

name 角色名稱

55

表 5-4:rbac_user(使用者資料表)

欄位名稱 欄位意義

id 流水號(primary key)

username 使用者帳號

password 使用者密碼

nickname 使用者暱稱

email 使用者電子郵件

表 5-5:rbac_module_role(MVC 程式模組與角色關係資料表)

欄位名稱 欄位意義

rbac_module_id rbac_module 資料表的流水號 rbac_role_id rbac_role 資料表的流水號

表 5-6:rbac_role_user(角色與使用者關係資料表)

欄位名稱 欄位意義

rbac_role_id rbac_role 資料表的流水號 rbac_user_id rbac_user 資料表的流水號

RBAC 權限控管模組以角色、使用者及 MVC 程式模組的觀點繪製 Petri net 圖形,並依據 Petri net 圖形繪製資料庫關連圖後,接下來就是 RBAC 權限控管模組的實作,整個實作依照 Petri net 圖形及資料庫關連圖的規 劃,撰寫程式邏輯並設計畫面,完成後的畫面如圖 5-16 及 5-17 所示。

56

圖 5-16:MVC 程式模組設定畫面

圖 5-17:權限設定畫面

57

相關文件