[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’ […]