相同點:
1.兩種都是基於角色許可權控制
2.2.都是同一個使用者可屬於多個角色或使用者組
3.不同點:
Rbac:
1.Rbac是基於節點控制,根據3級節點,module,controller,action,節點類似與樹形結構,3級節點間相互有關聯
2.表關係:使用者表->使用者角色關聯表->角色表->角色節點關聯表->節點表
3.根據3級節點控制,粒度到操作action,每個節點為單一的模組,控制器或操作
Auth:
1.Auth是基於規則控制,定製規則和條件表示式,每一條規則都是獨立的
2.表關係:使用者表->使用者和使用者組關聯表->使用者組表->規則表
3.根據規則控制,可自由定製不同的規則,非常自由,同一個規則內可以定製多個不同節點(中間的關係:ORAND)
4.可定製規則表示式,比如定製積分表示式
想法和問題:?
1.Auth驗證多條規則時條件表示式不起效果
2.Auth官方例子只說一個根據積分的規則,假如我規則"Admin/Goods/goodsList,Admin/Goods/goodsDel"我
能不能定義這裡面的某些ID所屬角色操作許可權的規則表示式,而這些所屬角色id是goods表裡的某個欄位,可能所屬的角色是多個不同的角色?
3.Auth不支援"Admin/*"泛解析,因為他每一條規則都是獨立的
1.新手配置Rbac的時候經常出現Rbac$_SESSION["_access_list"]獲取不到的問題,因為Rbac是使用ThinkPHP的底層DB引擎DSN連線資料庫,需要配置資料庫連結和5個表的關係,欄位名和表名不能出現問題
2.允許完成"Admin/*"型別的泛解析,比如這裡直接定製一個Admin模組的節點,不要下級節點就可以了
通用:?
1.不管是Rbac的角色表或者Auth裡面的使用者組表也好,都可以擴充套件,比如對角色或使用者組進行多層分級
2.Rbac的節點和Auth的規則都可以進行分級,比如前端功能許可權,後端功能許可權,後端某個功能模組許可權等等
3.上面兩個東西都不能應用到許可權管控之中去,比如Rbac不能分享上級角色許可權,Auth使用者組也不能,但是能更好的管理和更加流程化的操作.
相同點:
1.兩種都是基於角色許可權控制
2.2.都是同一個使用者可屬於多個角色或使用者組
3.不同點:
Rbac:
1.Rbac是基於節點控制,根據3級節點,module,controller,action,節點類似與樹形結構,3級節點間相互有關聯
2.表關係:使用者表->使用者角色關聯表->角色表->角色節點關聯表->節點表
3.根據3級節點控制,粒度到操作action,每個節點為單一的模組,控制器或操作
Auth:
1.Auth是基於規則控制,定製規則和條件表示式,每一條規則都是獨立的
2.表關係:使用者表->使用者和使用者組關聯表->使用者組表->規則表
3.根據規則控制,可自由定製不同的規則,非常自由,同一個規則內可以定製多個不同節點(中間的關係:ORAND)
4.可定製規則表示式,比如定製積分表示式
想法和問題:?
Auth:
1.Auth驗證多條規則時條件表示式不起效果
2.Auth官方例子只說一個根據積分的規則,假如我規則"Admin/Goods/goodsList,Admin/Goods/goodsDel"我
能不能定義這裡面的某些ID所屬角色操作許可權的規則表示式,而這些所屬角色id是goods表裡的某個欄位,可能所屬的角色是多個不同的角色?
3.Auth不支援"Admin/*"泛解析,因為他每一條規則都是獨立的
Rbac:
1.新手配置Rbac的時候經常出現Rbac$_SESSION["_access_list"]獲取不到的問題,因為Rbac是使用ThinkPHP的底層DB引擎DSN連線資料庫,需要配置資料庫連結和5個表的關係,欄位名和表名不能出現問題
2.允許完成"Admin/*"型別的泛解析,比如這裡直接定製一個Admin模組的節點,不要下級節點就可以了
通用:?
1.不管是Rbac的角色表或者Auth裡面的使用者組表也好,都可以擴充套件,比如對角色或使用者組進行多層分級
2.Rbac的節點和Auth的規則都可以進行分級,比如前端功能許可權,後端功能許可權,後端某個功能模組許可權等等
3.上面兩個東西都不能應用到許可權管控之中去,比如Rbac不能分享上級角色許可權,Auth使用者組也不能,但是能更好的管理和更加流程化的操作.