系統層 · 中央後台(橫跨所有 site) 站點層 · 單一 site 嘅管理鏈 現場層 · 到場必須報到 developer · 系統開發 全系統總管 管理所有 site 嘅帳號 support · 支援人員 開發公司 customer support 後台唯讀 · 人事查詢 site_owner · 站點負責人 單 site · 可多位 co-owner 管理自己 site 嘅帳號 site_admin · 站點管理員 專責 account 管理 全 site 人事資料 site_staff · 站點員工 日常操作 field · 現場維護 到場需喺 system 報到 現場角色嘅分類層 technician · 駐場電工師父 in-house · 無 expiry 一樣要報到 contractor · 承辦商 有 expiry · 由 site admin/owner 管理 到期自動失效 管理權主導角色 日常/現場角色 支援/到場角色 層級邊界
管理鏈

每一層級可以 handle 其下所有層級嘅 account。developer 管全部;support 只讀、唔開 account;site_owner 可 invite 同級 co-owner/admin/staff/contractor;site_admin 只可派 staff/field(唔可以派 owner/admin,防止自升)。

權限矩陣

權限能力 developer support site_owner site_admin site_staff technician contractor
Account 管理開/停用/派權限 全部 只讀 自己 site可 invite 同級 自己 site只可派下級
人事資料存取profile · 聯絡 · 所屬 site 全部 全部唯讀 自己 site全部人事 自己 site全部人事 只睇自己 只睇自己 只睇自己
設備/資產 CRUDequipment · 資產盤點 全部 只讀 自己 site 只讀 自己 site 只限指派 只限指派
數據讀取監測/工單/報表 全部 全部唯讀 自己 site 自己 site 自己 site 指派項目 指派項目
Invite link 發出邀請註冊帳號 全部 自己 site含同級 自己 site只可下級
Contractor expiry 管理承辦商帳號期限 全部 自己 site可設期限 自己 site可設期限 in-house 冇 expiry 自身受管理
現場報到到場 check-in 檢視 檢視 檢視自己 site 檢視自己 site 檢視 需要報到 需要報到過期報唔到
角色定義/系統設定roles · config 全部

一對多:同一人可以喺多個 site 有唔同角色(site_members)。

權限設計要點

Invite link 流程

site_owner/site_admin 揀好權限先 send invite link;link 有 expiry(例如 7 日)同埋用後即棄;對方用 link 自己 set 密碼,唔使 admin 代設。

Contractor 與 in-house 師父

兩類人都係 field 角色、到場都要喺 system 報到;contractor 嘅 account 受 expiry 限制(由 site admin/owner 管理,到期自動失效);in-house technician 冇 expiry,但同樣要報到。

site_members 一對多

一位 staff/contractor 可以服務多個 site,每個 site 嘅 membership 各自記錄 role、status 同 expiry;跨 site 帳號唔會互撞。

想調整邊一格權限、或者想睇返 users_roles 表點同 site_members 對接,直接話我知。