摘要:<?php /** * 基础类,验证是否登录 */ namespace app\admins\controller; use think\App; use think\Controller; use think\Db; use think\facade\Request; use think\fac
<?php
/**
* 基础类,验证是否登录
*/
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('您还未登陆,请返回登陆!','Login/login');*/
exit();
}
$this->admin = Session::get('admin');
$this->assign('admin',$this->admin['username']);
//判断用户是否有权限
$group = Db::table('roles')->where(array('gid'=>$this->admin['gid']))->find();
if(!$group){//这里要判断是ajax提交的数据还是路由访问的,二者要返回不一样的数据格式
$this->request_error('对不起,您没有访问权限');
}
$rights = json_decode($group['rights']);
//通过访问的方法来判断这些控制器或方法是否存在
$controller = Request::controller();
$method = Request::action();
$res = Db::table('admins_menu')->where(array('controller'=>$controller,'method'=>$method))->find();
if(!$res){
$this->request_error('对不起,您访问的功能不存在');
}
if($res['status']==1){
$this->request_error('对不起,该功能已禁用');
}
if(!in_array($res['mid'],$rights)){
$this->request_error('对不起,您没有权限');
}
}
private function request_error($msg)
{
if(Request::isAjax()){//如果是ajax提交
exit(json_encode(array('code'=>1,'msg'=>$msg)));
}
exit($msg);
}
}
批改老师:查无此人批改时间:2019-04-18 09:46:53
老师总结:完成的不错。框架搭建好,之后写项目就很方便了。继续加油。