簡介
RBAC基于角色的權(quán)限訪問控制(Role-Based Access Control)是商業(yè)系統(tǒng)中最常見的權(quán)限管理技術(shù)之一师逸。RBAC是一種思想,任何編程語言都可以實現(xiàn)纺腊,其成熟簡單的控制思想 越來越受廣大開發(fā)人員喜歡堆缘。在RBAC中,權(quán)限與角色相關(guān)聯(lián)糟红,用戶通過成為適當(dāng)角色的成員而得到這些角色的權(quán)限。這就極大地簡化了權(quán)限的管理。在一個組織中,角色是為了完成各種工作而創(chuàng)造潜沦,用戶則依據(jù)它的責(zé)任和資格來被指派相應(yīng)的角色,用戶可以很容易地從一個角色被指派到另一個角色陈肛。角色可依新的需求和系統(tǒng)的合并而賦予新的權(quán)限揍鸟,而權(quán)限也可根據(jù)需要而從某角色中回收兄裂。
日常生活中的權(quán)限
權(quán)限的作用
- 使用者的角度
權(quán)力:正確的行駛權(quán)力
限制:在限制范圍內(nèi)使用權(quán)力 - 設(shè)計者的角度
安全:控制不同的角色合理的訪問不同的資源
對于我們做的web應(yīng)用系統(tǒng)來講,就是控制不同的用戶訪問不同的頁面阳藻;
權(quán)限模型介紹
其中ABAC和PBAC在互聯(lián)網(wǎng)場景中很少使用晰奖,ACL是直接關(guān)系,RBAC是間接關(guān)系腥泥;
RBAC模型的優(yōu)勢
- 簡化了用戶和權(quán)限的關(guān)系
就是因為多了一個角色屬性匾南,通過角色可以對用戶進(jìn)行分組,分組完了就可以很方便的管理用戶蛔外; -
易擴(kuò)展 易于維護(hù)
RBAC流程圖
如上圖所示蛆楞,一個詳細(xì)完整的RBAC權(quán)限管理需要建立5張表,當(dāng)然3個或4個表也是可以完成夹厌;
RBAC功能模塊
-
功能需求列表:
- 權(quán)限控制流程:
實戰(zhàn)
主要實現(xiàn)以下5個模塊:
- RBAC之角色管理
- RBAC之用戶管理
- RBAC之權(quán)限管理
- RBAC模塊之驗證權(quán)限
- RBAC用戶操作記錄
技術(shù)選型
- Laravel:PHP MVC設(shè)計模式框架
- Mysql:數(shù)據(jù)庫
- Bootstrap:前端開發(fā)框架
- jQuery:JavaScript框架
數(shù)據(jù)庫設(shè)計
搭建laravel框架
其它課程講解
BootstrapUI界面搭建
Bootstrapv3下載