Heim  >  Fragen und Antworten  >  Hauptteil

Was soll ich tun, wenn das Backend-System von thinkphp6 keine Anmeldeumleitung nacheinander durchführt?

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

}

}

与时赛跑与时赛跑757 Tage vor1065

Antworte allen(1)Ich werde antworten

  • 手机用户6999042

    手机用户69990422022-08-29 09:24:33

    自问自答

    Antwort
    0
  • StornierenAntwort