摘要:<?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ú)此人批改時(shí)間:2019-04-18 09:46:53
老師總結(jié):完成的不錯(cuò)??蚣艽罱ê?,之后寫項(xiàng)目就很方便了。繼續(xù)加油。