登录

thinkphp6 后台系统未陆续进行登陆重定向怎么操作?

class BaseAdmin extends Controller

{

public function __construct(){

// Controller 里有 __construct魔术方法,我们直接继承调用

parent::__construct();

// 1,先公用方法里的 看是否登录。 未登录,去登录页面。

// 就需要创建登录页面和方法

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

// 未登录的用户不允许访问

if(!$this->_admin){

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

exit;

}

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

// 判断用户是否有权限

$this->db = new Sysdb;

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

if(!$group){

$this->request_error('对不起,您没有权限');

}

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

// 当前访问菜单

// 99,request()->controller(); 获取当前文件

// 99,request()->action();  获取当前方法

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

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

// 99,查询菜单表(admin_menus),找到文件名和方法名,相同的那个菜单。 注意:菜单的方法名和文件名,不要重复

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

if(!$res){

$this->request_error('对不起,您访问的功能不存在');

}

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

$this->request_error('对不起,该功能已禁止使用');

}

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

$this->request_error('对不起,您没有权限');

}

}

# ThinkPHP
与时赛跑与时赛跑153 天前520 次浏览

全部回复(1) 我要回复

  • 手机用户6999042

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

    自问自答

    回复
    0
  • 取消回复发送