亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

權(quán)限訪問(wèn)控制

??? 2019-04-17 22:17:17 244
????:<?php /**  * 基礎(chǔ)類,驗(yàn)證是否登錄  */ namespace app\admins\controller; use think\App; use think\Controller; use think\Db; use think\facade\Request; use think\fac
<?php
/**
 * 基礎(chǔ)類,驗(yàn)證是否登錄
 */

namespace app\admins\controller;
use think\App;
use think\Controller;
use think\Db;
use think\facade\Request;
use think\facade\Session;

class Base extends Controller
{
    public function __construct()
    {
        parent::__construct();
        if(!Session::has('admin')){
            header('Location:/index.php/admins/Login/login');
            /*$this->error('您還未登陸,請(qǐng)返回登陸!','Login/login');*/
            exit();
        }
        $this->admin = Session::get('admin');
        $this->assign('admin',$this->admin['username']);

        //判斷用戶是否有權(quán)限
        $group = Db::table('roles')->where(array('gid'=>$this->admin['gid']))->find();
        if(!$group){//這里要判斷是ajax提交的數(shù)據(jù)還是路由訪問(wèn)的,二者要返回不一樣的數(shù)據(jù)格式
            $this->request_error('對(duì)不起,您沒(méi)有訪問(wèn)權(quán)限');
        }
        $rights = json_decode($group['rights']);
        //通過(guò)訪問(wèn)的方法來(lái)判斷這些控制器或方法是否存在
        $controller = Request::controller();
        $method = Request::action();
        $res = Db::table('admins_menu')->where(array('controller'=>$controller,'method'=>$method))->find();
        if(!$res){
            $this->request_error('對(duì)不起,您訪問(wèn)的功能不存在');
        }
        if($res['status']==1){
            $this->request_error('對(duì)不起,該功能已禁用');
        }
        if(!in_array($res['mid'],$rights)){
            $this->request_error('對(duì)不起,您沒(méi)有權(quán)限');
        }


    }
    private function request_error($msg)
    {
        if(Request::isAjax()){//如果是ajax提交
            exit(json_encode(array('code'=>1,'msg'=>$msg)));
        }
        exit($msg);
    }
}


?? ???:查無(wú)此人?? ??:2019-04-18 09:46:53
???? ??:完成的不錯(cuò)。框架搭建好,之后寫項(xiàng)目就很方便了。繼續(xù)加油。

??? ??

?? ??