[PHP] Yii2 – RBAC原理指南 – Role Based Access Control Guide

Intro Yii RBAC可以整合User Component提供完整的權限控管,官方文件可以參考: Yii2 – Role Based Access Control (RBAC) 概念 RBAC關聯架構 Items分為Role與Module,用Type區分,但皆可直接Assign給User Items裡的Role即為Module的父集合,一個Role可以對多個Modules 一個User可以對多個Items,意即一人可以有多個Role再聯集多個指定Module 在介面概念上,Roles為一區塊可多選,選取或取消將影響Module區塊的Children選項並考慮其他已選Role聯集 RBAC系統架構 User為獨立Component與資料Model,RBAC與之整合 RBAC主要包含assignment(User-items)、items(角色與模組兩種Type)、rules(資料級別規則) RBAC三個Model提供PhpManager(檔案管理)與DbManager(資料庫)載體選擇,皆支援Data Building方法 Data Building提供操作器管理RBAC資料 驗證實作 設定好RBAC後,可以調用yii\web\User::can()做Module驗證判斷。 另外可以搭配ACF做Controller級別驗證,注意ACF中的roles即為RBAC的items: public function behaviors() { return [ ‘access’ => [ ‘class’ => AccessControl::className(), ‘rules’ […]

[Disk] 電腦硬碟原理(MBR/GPT) – Computer Disk Principle

Intro GPT – GUID Partition Table 磁碟分割格式 MBR(512B)與GPT(2048B)為Disk表頭Index,往後才能分割Partition。 磁碟分割區即為該顆磁碟Index,紀錄包含整個磁碟資訊如UUID、Size、Partitions。 透過韌體支援分辨與讀取BIOS/MBR(512B)與UEFI/GPT(2048B)磁碟分割區 Partitions資訊包含start、End、Sector資訊 一般OS啟動時會Cache磁碟分割區,透過Rescan更新 透過Linux dd為理想Byte to Byte對烤工具 大到小Disk copy需捨棄溢位磁區,並對size做矯正,另外UUID會相同,建議修改