initialize 中 redirect 无法跳转问题
来源:6-12 按base方式处理登录流

誓言玄夏
2021-10-23
老师好
tp版本 version 6.0.9
<?php
declare (strict_types = 1);
namespace app\admin\controller;
use app\BaseController;
use think\exception\HttpResponseException;
use think\Request;
use think\facade\View;
class AdminBase extends BaseController
{
public function initialize()
{
//判断是否登录
if (empty($this->isLogin())) {
return $this->redirect((string) url("login/index"),302);
}
}
/**
* 判断是否登录
* @return bool
*/
public function isLogin(){
$adminUserSession = session(config('admin.admin_user'));
if(empty($adminUserSession)){
return false;
}
return true;
}
/**
* 跳转方法覆盖重写
* @param ...$args
*/
public function redirect(...$args){
throw new HttpResponseException(redirect(...$args));
}
}
未登录状态访问下 admin/index/index
已确认执行了 initialize方法,但是返回
{"status":null,"message":"","result":[]}
并没有跳转
写回答
3回答
-
静秋叶
2021-12-26
明显少了一行代码!!!!!
public function initialize()
{
parent::initialize();
// 判断是否登录
if(empty($this->isLogin())){
return $this->redirectUrl(url('login/index'));
}
}parent::initialize();
继承父类的initialize方法
012021-12-26 -
singwa
2021-11-01
这个返回为空?
如果是的化,进行如下方式来排查
1、check下 你在登录的环节 是否设置session成功了。
2、 看看config("admin.admin_user") 您返回什么内容,
032021-11-01 -
singwa
2021-10-27
同学您好
你在这个地方打下断点 看看执行到这个地方了没
012021-10-28
相似问题