Que dois-je faire si le système backend de thinkphp6 n'effectue pas de redirection de connexion l'une après l'autre ?
与时赛跑
与时赛跑 2022-08-27 17:38:37
0
1
1177

class BaseAdmin extends Controller

{

public function __construct(){

// Il existe la méthode magique __construct dans Controller, nous héritons et appelons directement

parent::__construct();

// 1, public d'abord Dans la méthode, vérifiez si vous êtes connecté. Non connecté, accédez à la page de connexion.

// Vous devez créer une page et une méthode de connexion

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

// Les utilisateurs non connectés ne sont pas autorisés à accéder à

if(!$this-> _admin) {

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

exit;

}

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

/ / Jugement L'utilisateur a-t-il l'autorisation ? $this->db = new Sysdb;

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

if(!$group){

$this->request_error('Désolé, vous n'avez pas la permission') ;

}

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

// Menu d'accès actuel

// 99, request()->controller(); / 99, request() ->action(); Obtenir la méthode actuelle

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

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

/ / 99, table de menu de requête ( admin_menus), recherchez le nom du fichier et le nom de la méthode, le même menu. Remarque : Ne répétez pas le nom de la méthode et le nom du fichier du menu

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

if(!$res){

$this->request_error('Désolé, la fonction que vous avez visitée n'existe pas');

}

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

$this->request_error('Désolé, cette fonctionnalité est désactivée');

}

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

$this->request_error('Désolé, vous n'avez pas la permission');

}

}

与时赛跑
与时赛跑

répondre à tous(1)
手机用户6999042

Posez et répondez à vos propres questions

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal