天天看點

RBAC(基于角色的通路控制權限)表結構

Rbac 支援兩種類,PhpManager(基于檔案的) 和 DbManager(基于資料庫的)

權限:

就是指使用者是否可以執行哪些操作

角色:

就是上面說的一組操作的集合,角色還可以繼承

在Yii2.0中

    • yii\rbac: Item 為角色或者權限的基類,其中用字段type來辨別
    • yii\rbac: Role 為代表角色的類
    • yii\rbac: Permission 為代表權限的類
    • yii\rbac: Assignment 為代表使用者角色或者權限的類
    • yii\rbac: Rule 為代表角色或權限能否執行的判定規則表

在資料庫中存儲的RBAC層次是低效率的浪費性能的,但要靈活得多

存儲角色或權限的表:auth_item

用來存儲角色和權限的資料,Role類和Permission類有一個共同的基類yii\rbac:Item,用$type字段來辨別是角色還是權限。

角色權限關聯表:auth_item_child

用來儲存角色和權限的關系

使用者角色(權限)表:auth_assignment

使用者的權限包含兩部分,一部分是所指定的角色代表的權限,一部分就是直接所指定的權限

規則表:auth_rule

如果要在規則表:[auth_rule]中增加一條規則就得要有對應的規則類,并實作方法abstract public function execute($item, $params)具體的邏輯來判定$item(角色或者權限)是否可執行。

轉載于:https://www.cnblogs.com/baby123/p/4871779.html