引言
權限系統模塊對於互聯網產品是一個非常重要的功能,可以控制不同的角色合理的訪問不同的資源從而達到安全訪問的作用
此外本次課程有視頻講解: http://www.imooc.com/learn/799 ,對應演示系統:http://rbac.54php.cn
權限控制模型
ACL
RBAC 基於角色的訪問控制
從上圖我們可以看出,ACL是用戶和權限直接關系的,RBAC則是通過角色間接關聯用戶和權限的。所以角色是RBAC系統的一個重要屬性
Why RBAC
為什么我們選擇RBAC模型,原因如下
方便用戶分組
方便權限分配和回收
擴展方便,可以滿足大部分業務需求
RBAC
框架
圖中有5個角標數字,對應的就是RBAC模型重要的5個屬性
RBAC關系圖 | ||
---|---|---|
序號 | 關鍵屬性 |
描述 |
1 | 用戶 | 張三、李四、王五 |
2 | 角色 | 銷售經理、銷售、前台 |
3 | 用戶角色關系 | 張三 是 銷售經理 、李四 王五 是 銷售 |
4 | 權限 | 添加客戶、編輯客戶、刪除客戶,查看客戶 |
5 | 角色權限關系 | 銷售 擁有 查看客戶的 權 限、銷售經理可以 查看/添加/刪除/編輯客戶的 |
功能
如上圖,一個RBAC權限模塊,必然要實現三個功能
用戶管理
用戶列表
添加用戶
編輯用戶
設置用戶角色
角色管理
角色列表
添加角色
編輯角色
設置角色權限
權限管理
權限列表
新增權限
編輯權限
戰果演示
第一張截圖有2個瀏覽器,左邊使用超級管理員打開,右邊的使用 前台角色郭小威 用戶打開
第二張截圖 展示的是 為 前台 設置權限
第三張截圖展示了可以瀏覽的頁面(圖一中有無法瀏覽提示)
資源
演示代碼(請務必先查看readme文件) https://github.com/apanly/rbac
課程視頻地址: http://www.imooc.com/learn/799
對應演示系統:http://rbac.54php.cn
原文地址: 【RBAC】打造Web權限控制系統
標簽: 權限 角色 用戶 控制 rbac user role access 用戶管理 權限管理 角色管理