class BaseAdmin memanjangkan Pengawal
{
fungsi awam __construct(){
// Terdapat kaedah ajaib __construct dalam Controller, kami terus mewarisi dan memanggil
ibu bapa::__construct();
// 1, awam pertama Dalam kaedah, semak sama ada anda telah log masuk. Belum log masuk, pergi ke halaman log masuk.
// Anda perlu mencipta halaman log masuk dan kaedah
$this->_admin = session('admin');
// Pengguna yang tidak log masuk tidak dibenarkan mengakses
if(!$this-> _admin) {
header('Lokasi: /admins/Account/login');
keluar;
}
$this->assign('admin',$this->_admin);
/ Penghakiman Adakah pengguna mempunyai kebenaran? $this->db = new Sysdb;
$group = $this->db->table('admin_groups')->where(array('gid'=> ;$ this->_admin['gid']))->item();
if(!$group){
$this->request_error('Maaf, anda tiada kebenaran') ;
}
$rights = json_decode($group['rights']);
// Menu akses semasa
// 99, request()->controller(); / 99, request() ->action(); Dapatkan kaedah semasa
$controller = request()->controller();
$action = request()->action();
/ / 99, jadual menu pertanyaan ( admin_menus), cari nama fail dan nama kaedah, menu yang sama. Nota: Jangan ulangi nama kaedah dan nama fail menu
$res = $this->db->table('admin_menus')->where(array('controller'=>$controller, 'kaedah' =>$action))->item();
if(!$res){
$this->request_error('Maaf, fungsi yang anda lawati tidak wujud');
}
jika ($res['status']==1){
$this->request_error('Maaf, ciri ini dilumpuhkan');
}
if(!in_array($res[' mid'] ,$rights)){
$this->request_error('Maaf, anda tiada kebenaran');
}
}
Tanya dan jawab soalan anda sendiri