91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

thinkPHP的RBAC權限管理

發布時間:2020-06-02 09:57:03 來源:網絡 閱讀:629 作者:xmyID 欄目:web開發

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

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

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

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

用戶角色關系表(user_role):顧名思義,就是將用戶和角色對應起來的表,看它的表結構,只有role_id(角色id)和user_id(用戶id)兩個字段
節點表:這個表比較特殊一點,直接列出字段和說明比較好理解

字段idnametitlestatusremarksortpidlevel
解釋

節點名稱,一般為:項目名稱(入口文件中定義的項目名稱)、Action(模塊)名稱、Function(方法)名稱

如果系統存在分組,那么需要填寫,分組名稱,如:Home、Admin

節點標題

狀態,1,0


注釋

排序

父ID,頂級:0

等級:1、2、3…

例子1
Information


信息資訊管理

1

中心門戶網站

NULL
1
2

角色節點表(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的配置語句,可以到網上或者官網查看相關的例子。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延寿县| 北票市| 和田县| 临邑县| 东丰县| 南涧| 焉耆| 德清县| 邢台县| 琼中| 吉安市| 阜城县| 西吉县| 阳山县| 扎鲁特旗| 张家界市| 大厂| 平阳县| 鄂州市| 留坝县| 陇西县| 台北市| 余江县| 夏津县| 浑源县| 鄂尔多斯市| 灵台县| 雷山县| 罗山县| 海伦市| 丹棱县| 辽阳市| 宜君县| 德州市| 台中市| 泰和县| 镇远县| 枣庄市| 朔州市| 柘荣县| 綦江县|