【RBAC】打造Web權限控制系統

引言

權限系統模塊對于互聯網產品是一個非常重要的功能,可以控制不同的角色合理的訪問不同的資源從而達到安全訪問的作用


此外本次課程有視頻講解: http://www.imooc.com/learn/799 ,對應演示系統:http://rbac.54php.cn 


權限控制模型

  • ACL

  • RBAC 基于角色的訪問控制

600


從上圖我們可以看出,ACL是用戶和權限直接關系的,RBAC則是通過角色間接關聯用戶和權限的。所以角色是RBAC系統的一個重要屬性

Why RBAC

為什么我們選擇RBAC模型,原因如下

  1. 方便用戶分組

  2. 方便權限分配和回收

  3. 擴展方便,可以滿足大部分業務需求


RBAC

框架


600


圖中有5個角標數字,對應的就是RBAC模型重要的5個屬性


RBAC關系圖
序號關鍵屬性
描述
1用戶 張三、李四、王五
2角色銷售經理、銷售、前臺
3用戶角色關系張三 是  銷售經理 、李四 王五 是 銷售
4權限添加客戶、編輯客戶、刪除客戶,查看客戶
5角色權限關系

銷售 擁有 查看客戶的 權

限、銷售經理可以 查看/添加/刪除/編輯客戶的


功能

600

如上圖,一個RBAC權限模塊,必然要實現三個功能

  1. 用戶管理

    1. 用戶列表

    2. 添加用戶

    3. 編輯用戶

    4. 設置用戶角色

  2. 角色管理

    1. 角色列表

    2. 添加角色

    3. 編輯角色

    4. 設置角色權限

  3. 權限管理

    1. 權限列表

    2. 新增權限

    3. 編輯權限

戰果演示

  • 第一張截圖有2個瀏覽器,左邊使用超級管理員打開,右邊的使用 前臺角色郭小威 用戶打開

  • 第二張截圖 展示的是 為 前臺 設置權限

  • 第三張截圖展示了可以瀏覽的頁面(圖一中有無法瀏覽提示)


600


600


600


資源

  1. 演示代碼(請務必先查看readme文件) https://github.com/apanly/rbac 

  2. 課程視頻地址: http://www.imooc.com/learn/799 

  3. 對應演示系統:http://rbac.54php.cn 



<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>