Apakah yang perlu saya lakukan jika sistem backend thinkphp6 tidak melakukan pengalihan log masuk satu demi satu?
与时赛跑
与时赛跑 2022-08-27 17:38:37
0
1
1169

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');

}

}

与时赛跑
与时赛跑

membalas semua(1)
手机用户6999042

Tanya dan jawab soalan anda sendiri

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan