簡(jiǎn)介
RBAC基于角色的權(quán)限訪(fǎng)問(wèn)控制(Role-Based Access Control)是商業(yè)系統(tǒng)中最常見(jiàn)的權(quán)限管理技術(shù)之一。RBAC是一種思想,任何編程語(yǔ)言都可以實(shí)現(xiàn),其成熟簡(jiǎn)單的控制思想 越來(lái)越受廣大開(kāi)發(fā)人員喜歡。在RBAC中,權(quán)限與角色相關(guān)聯(lián),用戶(hù)通過(guò)成為適當(dāng)角色的成員而得到這些角色的權(quán)限。這就極大地簡(jiǎn)化了權(quán)限的管理。在一個(gè)組織中,角色是為了完成各種工作而創(chuàng)造,用戶(hù)則依據(jù)它的責(zé)任和資格來(lái)被指派相應(yīng)的角色,用戶(hù)可以很容易地從一個(gè)角色被指派到另一個(gè)角色。角色可依新的需求和系統(tǒng)的合并而賦予新的權(quán)限,而權(quán)限也可根據(jù)需要而從某角色中回收。
日常生活中的權(quán)限

權(quán)限的作用
- 使用者的角度
權(quán)力:正確的行駛權(quán)力
限制:在限制范圍內(nèi)使用權(quán)力 - 設(shè)計(jì)者的角度
安全:控制不同的角色合理的訪(fǎng)問(wèn)不同的資源
對(duì)于我們做的web應(yīng)用系統(tǒng)來(lái)講,就是控制不同的用戶(hù)訪(fǎng)問(wèn)不同的頁(yè)面;
權(quán)限模型介紹

其中ABAC和PBAC在互聯(lián)網(wǎng)場(chǎng)景中很少使用,ACL是直接關(guān)系,RBAC是間接關(guān)系;

RBAC模型的優(yōu)勢(shì)
- 簡(jiǎn)化了用戶(hù)和權(quán)限的關(guān)系
就是因?yàn)槎嗔艘粋€(gè)角色屬性,通過(guò)角色可以對(duì)用戶(hù)進(jìn)行分組,分組完了就可以很方便的管理用戶(hù); -
易擴(kuò)展 易于維護(hù)
RBAC流程圖

如上圖所示,一個(gè)詳細(xì)完整的RBAC權(quán)限管理需要建立5張表,當(dāng)然3個(gè)或4個(gè)表也是可以完成;
RBAC功能模塊
-
功能需求列表:
- 權(quán)限控制流程:

實(shí)戰(zhàn)
主要實(shí)現(xiàn)以下5個(gè)模塊:
- RBAC之角色管理
- RBAC之用戶(hù)管理
- RBAC之權(quán)限管理
- RBAC模塊之驗(yàn)證權(quán)限
- RBAC用戶(hù)操作記錄
技術(shù)選型
- Laravel:PHP MVC設(shè)計(jì)模式框架
- Mysql:數(shù)據(jù)庫(kù)
- Bootstrap:前端開(kāi)發(fā)框架
- jQuery:JavaScript框架
數(shù)據(jù)庫(kù)設(shè)計(jì)

搭建laravel框架
其它課程講解
BootstrapUI界面搭建
Bootstrapv3下載

