<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    thinkPHP的RBAC權限管理

    時間:2025-02-16 02:04:55 php語言 我要投稿
    • 相關推薦

    thinkPHP的RBAC權限管理

      如何進行thinkPHP的rbac權限管理呢?下面是由百分網小編為大家整理的thinkPHP的RBAC權限管理,喜歡的可以收藏一下!了解更多詳情資訊,請關注應屆畢業生考試網!

      thinkPHP的RBAC權限管理:

      thinkphp自帶一個權限類:RBAC.class.php,里面有生成表的create table語句,也就是它的數據庫設計,還有一些方法,比如getAccessList(),可以根據管理員ID號獲得權限節點。

      1、涉及到的表有五個,為了方便理解,可以總結為:

      用戶表(user):顧名思義,就是用戶了,比如admin、張三、李四、王五

      角色表(role):顧名思義,就是定義好的角色,比如財務管理員、文章管理員、產品管理員

      用戶角色關系表(user_role):顧名思義,就是將用戶和角色對應起來的表,看它的表結構,只有role_id(角色id)和user_id(用戶id)兩個字段

      角色節點表(access):權限控制,也叫權限表,就是該角色(role)能控制哪些節點(node)。level字段對應node表的level字段。

      這樣就好理解了,其實就是用戶、角色、節點三塊。

      先定義某個角色有權操縱某些節點,就是role表(角色)和node表(節點)和access表(權限)三個表的關系,這是核心部分,access又是核心中的核心。

      然后,用戶表可以單獨和角色表掛鉤,這就是user表和role表和user_role表的關系。

      這樣,就間接定義了哪些用戶可以操縱哪些節點(模塊)。

      2、實際運行的時候,用戶的所有可以操作的節點,可以記錄到session當中,比如在初始化方法中寫下這一句:

      $_SESSION[‘rbac’]=RBAC::getAccessList($adminId);

      這樣打印session的時候,可以看到

      [rbac] => Array

      (

      [ADMIN] => Array

      (

      [INFORMATION] => Array

      (

      [ADD] => 1

      [MODIFY] => 2

      [DEL] => 3

      )

      [PRODUCT] => Array

      (

      ...

      )

      類似這樣的數組結構。

      最后需要注意的一點是RBAC的配置語句,可以到網上或者網查看相關的例子。

    【thinkPHP的RBAC權限管理】相關文章:

    ThinkPHP中自動驗證07-26

    thinkPHP實現的聯動菜單功能03-04

    ThinkPHP多表聯合查詢的常用方法06-18

    分析thinkphp常見路徑用法分析02-28

    Thinkphp 多語言功能完善04-13

    Thinkphp的多語言功能完善05-05

    ThinkPHP中redirect用法實例分析02-08

    Linux操作系統學習筆記權限管理05-15

    JAVA的數據權限設計05-28

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人