這篇文章主要介紹Thinkphp5中auth權(quán)限設(shè)置以及實(shí)現(xiàn)的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
10余年的鄆城網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整鄆城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“鄆城網(wǎng)站設(shè)計(jì)”,“鄆城網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1.將auth類下載好 放置目錄: extend\auth\auth.php
2.將類中的SQL語(yǔ)句執(zhí)行,可以在數(shù)據(jù)庫(kù)中創(chuàng)建3張表 auth_group(用戶組表) auth_rule(權(quán)限規(guī)則表) auth_group_access(用戶與用戶組關(guān)聯(lián)表)
3.我想給規(guī)則 添加一個(gè)級(jí)別關(guān)系(類似于無(wú)限極分類) auth_rule(權(quán)限規(guī)則表) 中添加3個(gè)字段 pid(父級(jí)id ,0為頂級(jí)權(quán)限) level(級(jí)別) sort(排序),如下圖
4,首先 自己創(chuàng)建管理員表,比如叫admin表,增刪改查 自己去正常設(shè)計(jì),group字段為所屬用戶組
5.auth_group用戶組的 增刪改查 也自己去制作一下,id,用戶組名稱,狀態(tài)(開(kāi)啟,或者關(guān)閉),規(guī)則(所對(duì)應(yīng)的是規(guī)則表的id)
6.auth_rule規(guī)則表 增刪改查 也自己去制作一下,id,name(控制器/方法),title(規(guī)則名稱 ) status狀態(tài)(開(kāi)啟,或者關(guān)閉),
7. 在添加用戶的時(shí)候 給用戶選擇 所屬用戶組, uid(對(duì)應(yīng)的是用戶id) group_id(對(duì)應(yīng)的是用戶所屬用戶組的id),這樣就關(guān)聯(lián)起來(lái)了
8.把會(huì)員登陸功能做好,登陸成功設(shè)置session('id'),將當(dāng)前登陸會(huì)員ID存在session中
9.最關(guān)鍵的的一步,就是使用auth類進(jìn)行驗(yàn)證,在common.php這個(gè)公共頁(yè)面中 使用
error('請(qǐng)先登陸系統(tǒng)!','login/index'); } //獲得當(dāng)前頁(yè)面的控制器 / 方法 $request=Request::instance(); $moudle=$request->module(); //獲取當(dāng)前控制器名稱 $con=$request->controller(); //獲取當(dāng)前控制器名稱 $action=$request->action(); //獲取當(dāng)前方法名稱 $this->assign(array( 'con'=>$con, 'action'=>$action, )); $rules=$con.'/'.$action; //組合 控制器/方法 $auth=new Auth(); //實(shí)例化auth類 $notCheck=array('Index/index'); //都可以訪問(wèn)的頁(yè)面 if(session('uid')!=1){ //不是超級(jí)管理員才進(jìn)行權(quán)限判斷 if(!in_array($rules,$notCheck)){ // 是否在開(kāi)放權(quán)限里面 if(!$auth->check($rules,session('uid'))){ // 第一個(gè)參數(shù) 控制/方法 第二個(gè)參數(shù):當(dāng)前登陸會(huì)員的id $this->error('沒(méi)有權(quán)限','index/index'); }; } } }
最終展示;
以上是“Thinkphp5中auth權(quán)限設(shè)置以及實(shí)現(xiàn)的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!