《PHP實例:ThinkPHP中RBAC類的四種用法分析》要點:
本文介紹了PHP實例:ThinkPHP中RBAC類的四種用法分析,希望對您有用。如果有疑問,可以聯系我們。
PHP學習本文實例講述了ThinkPHP中RBAC類的四種用法.分享給大家供大家參考.具體辦法如下:
PHP學習第一類:放在登陸控制器的登陸操作中
PHP學習1.RBAC::authenticate();
PHP學習用于在用戶表中查找表單提交的用戶名的數據,實質上就是一條用戶表查尋語句:
PHP學習a.array()數組的寫法及作用和表查尋數組一樣:
PHP學習b.model就是表名,默認是配制參數
PHP學習2.RBAC::saveAccessList();
PHP學習將用戶可以操控的應用名(組名),控制器名,操作名以一個三維數組的形勢寫入session.
PHP學習參數是用戶id,一般我們在用戶登陸驗證通過后,會將用戶id寫入session中的
PHP學習本辦法中默認會拿$_SESSION(C('USER_AUTH_KEY'))這個參數;
PHP學習第二類:放在公共控制器中(所有參加權限驗證的控制器類全都要繼于成這個類)
PHP學習3.RBAC::AccessDecision();
PHP學習用來判斷當前用戶對當前操控是否有權限,參數默認是應用名APP_NAME,如果是分組的模式,就得傳入分組名GROUP_NAME
PHP學習這里面調用了一個辦法
PHP學習注:有四個配制參數,需要我們寫兩個.
PHP學習需要驗證控制器:REQUIRE_AUTH_MODULE 需要驗證操作:REQUIRE_AUTH_ACTION
PHP學習不需要驗證控制器:NOT_AUTH_MODULE 不需要驗證操作:NOT_AUTH_ACTION
PHP學習如果全寫需要:在REQUIRE_AUTH_ACTION中寫操作的同時必須在REQUIRE_AUTH_MODULE寫其所屬控制器.
PHP學習如果全寫不需要:在NOT_AUTH_MODULE中寫了控制器,其控制器中的所有辦法都將不需要驗證.
PHP學習如果獨寫NOT_AUTH_ACTION中的操作,則需要注意操作名重名的問題.
PHP學習4.RBAC::checkLogin();
PHP學習用來判斷用戶是否登陸.
注:登陸后的首頁顯示這個操作必須參加驗證,所以每個角色都得加入這個操作的權限.
PHP學習也可以不用這個辦法,直接判斷$_SESSION[C('USER_AUTH_KEY')]是否存在,不存在就跳轉到登陸界面這樣就可以讓登陸后首頁顯示這個操作不參加驗證.
PHP學習希望本文所述對大家的ThinkPHP框架程序設計有所贊助.
《PHP實例:ThinkPHP中RBAC類的四種用法分析》是否對您有啟發,歡迎查看更多與《PHP實例:ThinkPHP中RBAC類的四種用法分析》相關教程,學精學透。維易PHP學院為您提供精彩教程。