摘要://访问权限功能主要是用户登录后,通过用户信息在用户权限表中查询当前用
//户所有的权限,并通过用户执行的控制器和方法判断该控制器和方法存不存在,或者是否拥有对应的权限
//该构造函数存于base.php中,其他控制器需引入并继承该类
public function __construct()//访问权限功能主要是用户登录后,通过用户信息在用户权限表中查询当前用
//户所有的权限,并通过用户执行的控制器和方法判断该控制器和方法存不存在,或者是否拥有对应的权限
//该构造函数存于base.php中,其他控制器需引入并继承该类
public function __construct(){
parent::__construct();
$this->_admin = session('admin');
if(!$this->_admin){
header('Location:/index.php/admins/account/login');
exit;
}
$this->assign('admin',$this->_admin);
$this->db = new SysDb;
// 判断用户是否有权限
$group = $this->db->table('admin_groups')->where(array('gid'=>$this->_admin['gid']))->item();
if(!$group){
$this->request_error('对不起,您没有权限');
}
$rights = json_decode($group['rights']);
// 当前访问的菜单
$controller = request()->controller();//获取当前控制器
$method = request()->action();//获取当前方法
$res = $this->db->table('admin_menus')->where(array('controller'=>$controller,'method'=>$method))->item();
if(!$res){
$this->request_error('对不起,您访问的功能不存在');
}
if($res['status'] == 1){
$this->request_error('对不起,该功能已禁止使用');
}
if(!in_array($res['mid'],$rights)){
$this->request_error('对不起,您没有权限!');
}
}
//判断请求是不是ajax类型,并返回json数据
private function request_error($msg){
if(request()->isAjax()){
exit(json_encode(array('code'=>1,'msg'=>$msg)));
}
exit($msg);
}
批改老师:天蓬老师批改时间:2019-01-19 15:53:43
老师总结:json_encode()这样的函数,其实不需要加的, 默认就是json