thinkPHP的RBAC權限管理
如何進行thinkPHP的rbac權限管理呢?下面是由本站小編為大家整理的thinkPHP的RBAC權限管理,喜歡的可以收藏一下!瞭解更多詳情資訊,請關注應屆畢業生考試網!
thinkPHP的'RBAC權限管理:
thinkphp自帶一個權限類:,裏面有生成表的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的配置語句,可以到網上或者網查看相關的例子。
-
提高PHP執行效率的50個技巧
PHP是一種HTML內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,下面是小編為大家整理的提高PHP執行效率的50個技巧,歡迎參考~1、用單引號代替雙引號來包含字符串,這樣做會更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會,注意:只有echo...
-
ThinkPHP中自動驗證
學無止境,剛開始學習PHP會覺得簡單,但是越學會越難。下面是小編整理的關於ThinkPHP中自動驗證的知識,希望對大家有用,更多消息請關注應屆畢業生網。ThinkPHP中自動驗證:array(‘字段’,‘驗證規則’,‘錯誤提示’[,‘驗證條件&rsqu...
-
php計算兩個文件相對路徑的方法
文章主要介紹了php計算兩個文件相對路徑的方法,涉及php操作字符串的`技巧,具有一定參考借鑑價值,需要的朋友可以參考下.一、問題:寫一個php函數算出兩個文件的相對路徑。例如$a="/a/b/c/d/";$b="/a/b/12/34/",B相對於A的相對路徑是什麼?二、解決方法:?123456789101...
-
PHP 7.1中都有哪些重大更新
PHP7.1.0帶來了大量的改進和新功能:可空類型返回空類型可迭代的psuedo-type支持常量可見的類數組解構square框架和在list()中允許指定keys多異常類型捕獲,以下是小編為大家搜索整理的PHP7.1中都有哪些重大更新,希望能給大家帶來幫助!更多精彩內容請及時關注我們應...
相關文章
- ThinkPHP中create()方法自動驗證表單信息
- 本地環境thinkphp5集成workerman教程
- Thinkpad筆記本開機顯示Tointerrruptnormalstartup解決方法
- Having fun in the Water Park開心的水上樂園作文
- The Best Thing That Could Ever Happen少兒雙語閲讀
- Asking About Birthplace 問出生地的實用英語口語
- The relationship between theory and practice大學英語作文
- Why Public Speaking Is So Important 公共演説的重要性大學英語
- Ought Parents to Give Children Pocket英語作文
- 《Unit4 Where’s my backpack?》説課稿