Maison > Questions et réponses > le corps du texte
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');
}
}