Tp6.0 慕课Singwa 第6章9分钟
<?php
namespace app\admin\controller;
use app\BaseController;
class AdminBase extends BaseController
{
public $adminUser = null;
public function initialize()
{
parent::initialize();
//判断是否登录
if (empty($this->isLogin())){ //没登录
return redirect(url('login/index'));
}
else{
return redirect(url('index/index'));
}
}
public function isLogin()
{
$this->adminUser = session(config('admin.session_admin'));
if (empty($this->adminUser)){
return false; //没登录
}else{
return true; //登录了
}
}
}
在下面加个方法
use think\exception\HttpResponseException;
public function redirect(...$args)
{
throw new HttpResponseException(redirect(...$args));
}
在initialize中直接调用redirect方法
public function initialize()
{
parent::initialize();
//判断是否登录
if (empty($this->isLogin())){ //没登录
return $this->redirect(url('login/index'),303);
}
else{
return $this->redirect(url('index/index'),302);
}
}
但由于这是一个死循环,所以要把继承Base的登录页面的initialize重写为空
public function initialize(){
}