国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

RBAC類在ThinkPHP中的四種使用方法

2024-09-09 15:19:33
字體:
來源:轉載
供稿:網友

第一類:放在登陸控制器的登陸操作中

1.RBAC::authenticate();

用于在用戶表中查找表單提交的用戶名的數據,實質上就是一條用戶表查尋語句,=====> return M(modle)->where(array)->find();這個操作有兩個參數

a.array()數組的寫法及作用和表查尋數組一樣,=====>array(‘字段’=>‘值’,‘字段’=>array('條件','值'));

b.model就是表名,默認是配制參數 C('USER_AUTH_MODEL');返回值是一條查詢結果以一維數組承顯,注:它就是一個針對用戶表的單條記錄查尋方法,我們可以不用它,直接用查尋語句。

2.RBAC::saveAccessList();

將用戶可以操控的應用名(組名),控制器名,操作名以一個三維數組的形勢寫入session。

參數是用戶id,一般我們在用戶登陸驗證通過后,會將用戶id寫入session中的C('USER_AUTH_KEY');

本方法中默認會拿$_SESSION(C('USER_AUTH_KEY'))這個參數;

第二類:放在公共控制器中(所有參加權限驗證的控制器類全都要繼于成這個類)

3.RBAC::AccessDecision();

用來判斷當前用戶對當前操控是否有權限,參數默認是應用名APP_NAME,如果是分組的模式,就得傳入分組名GROUP_NAME

這里面調用了一個方法 RBAC::checkAccess(); 用于驗證當前控制器或操作是否參加本次判斷.

注:有四個配制參數,需要我們寫兩個。

需要驗證控制器:REQUIRE_AUTH_MODULE 需要驗證操作:REQUIRE_AUTH_ACTION

不需要驗證控制器:NOT_AUTH_MODULE 不需要驗證操作:NOT_AUTH_ACTION

如果全寫需要:在REQUIRE_AUTH_ACTION中寫操作的同時必須在REQUIRE_AUTH_MODULE寫其所屬控制器。

如果全寫不需要:在NOT_AUTH_MODULE中寫了控制器,其控制器中的所有方法都將不需要驗證

如果獨寫NOT_AUTH_ACTION中的操作,則需要注意操作名重名的問題。

4.RBAC::checkLogin();

用來判斷用戶是否登陸,注:登陸后的首頁顯示這個操作必須參加驗證,所以每個角色都得加入這個操作的權限。

也可以不用這個方法,直接判斷$_SESSION[C('USER_AUTH_KEY')]是否存在,不存在就跳轉到登陸界面這樣就可以讓登陸后首頁顯示這個操作不參加驗證。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 巨野县| 修武县| 开封县| 铜川市| 西乌珠穆沁旗| 杭州市| 景德镇市| 福清市| 晴隆县| 土默特右旗| 宣城市| 封开县| 报价| 博野县| 彩票| 嘉鱼县| 陆良县| 永登县| 边坝县| 新宁县| 会同县| 五河县| 盖州市| 益阳市| 扎囊县| 佛坪县| 临猗县| 凤凰县| 泾阳县| 平南县| 德兴市| 富顺县| 横山县| 湘乡市| 綦江县| 时尚| 介休市| 历史| 贵溪市| 昭平县| 洞口县|