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

實現(xiàn)權(quán)限訪問控制功能

asal 2019-03-22 23:23:12 237
abstrak:在Base.php控制器中進行權(quán)限訪問控制<?php namespace app\admins\controller; use think\Controller; use Util\SysDb; class Base extends Controller { public function __constr

在Base.php控制器中進行權(quán)限訪問控制

<?php
namespace app\admins\controller;

use think\Controller;
use Util\SysDb;

class Base extends Controller
{
	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;


		//判斷用戶是否有權(quán)限
		$group = $this->db->table('admin_groups')->where(['gid'=>$this->_admin['gid']])->item();
		if(!$group){
			$this->request_error('對不起,您沒有權(quán)限');
		}
		$rights = json_decode($group['rights']);
		//當前訪問的菜單
		$controller = request()->controller();
		$method = request()->action();
		$res = $this->db->table('admin_menu')->where(['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('對不起,您沒有權(quán)限');
		}
	}


	private function request_error($msg)
	{
		if(request()->isAjax()){
			exit(json_encode(['code'=>1,'msg'=>$msg]));
		}
		exit($msg);
	}
}


Guru membetulkan:西門大官人Masa pembetulan:2019-03-23 11:29:04
Rumusan guru:代碼最好自己寫一遍,而不是復制粘貼過來。只有自己寫了,才能知道自己在哪地方掌握的不夠好

Nota Keluaran

Penyertaan Popular