Was soll ich tun, wenn das Backend-System von thinkphp6 keine Anmeldeumleitung nacheinander durchführt?
与时赛跑
与时赛跑 2022-08-27 17:38:37
0
1
1149

class BaseAdmin erweitert Controller

{

öffentliche Funktion __construct(){

// Es gibt die magische Methode __construct in Controller, die wir direkt erben und aufrufen

parent::__construct();

// 1, öffentlich Überprüfen Sie zunächst in der Methode, ob Sie angemeldet sind. Wenn Sie nicht angemeldet sind, gehen Sie zur Anmeldeseite.

// Sie müssen eine Anmeldeseite und -methode erstellen

$this->_admin = session('admin');

// Nicht angemeldete Benutzer dürfen nicht darauf zugreifen

if(!$this-> _admin) {

header('Location: /admins/Account/login');

exit;

}

$this->assign('admin',$this->_admin);

/ / Urteil Hat der Benutzer die Berechtigung? $this->db = new Sysdb;

$group = $this->db->table('admin_groups')->where(array('gid'=> ;$ this->_admin['gid']))->item();

if(!$group){

$this->request_error('Leider haben Sie keine Berechtigung') ;

}

$rights = json_decode($group['rights']);

// Aktuelles Zugriffsmenü

// 99, request()->controller(); Holen Sie sich die aktuelle Datei

/ / 99, request() ->action(); Holen Sie sich die aktuelle Methode

$controller = request()->controller();

$action = request()->action();

/ / 99, Abfrage der Menütabelle (admin_menus), Suchen des Dateinamens und des Methodennamens, dasselbe Menü. Hinweis: Wiederholen Sie nicht den Methodennamen und den Dateinamen des Menüs

$res = $this->db->table('admin_menus')->where(array('controller'=>$controller, 'method' =>$action))->item();

if(!$res){

$this->request_error('Leider existiert die von Ihnen besuchte Funktion nicht.');

}

if ($res['status']==1){

$this->request_error('Leider ist diese Funktion deaktiviert');

}

if(!in_array($res[' mid'] ,$rights)){

$this->request_error('Leider haben Sie keine Berechtigung');

}

}

与时赛跑
与时赛跑

Antworte allen(1)
手机用户6999042

自问自答

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage