Laravel - Auth::check() 返回 false,但中间件身份验证未重定向
Laravel - Auth::check() returning false, but middleware auth not redirecting
所以我设法以某种方式制造了一种情况,其中 Auth::check() 说我没有登录,但是中间件 ('auth') 仍然允许访问我的 class.我做的最后一件事是修改用户数据,但我没有注销,所以我假设 Auth::check() 是 returning 错误的值。但为什么会这样呢?我的控制器构造:
public function __construct()
{
if(Auth::check()){
print "yes";
} else {
print "no";
};
$this->middleware('auth');
}
public function index()
{
print " index";
}
这会打印出 "no index"。所以 Auth::check() return false,但是 index 方法仍然是 raeched。
在中间件之前调用构造函数。 Laravel 允许您提供控制器中间件,因此您可以从控制器构造函数中推送到中间件堆栈。
控制器构造函数中任何形式的会话交互都会失败。
所以我设法以某种方式制造了一种情况,其中 Auth::check() 说我没有登录,但是中间件 ('auth') 仍然允许访问我的 class.我做的最后一件事是修改用户数据,但我没有注销,所以我假设 Auth::check() 是 returning 错误的值。但为什么会这样呢?我的控制器构造:
public function __construct()
{
if(Auth::check()){
print "yes";
} else {
print "no";
};
$this->middleware('auth');
}
public function index()
{
print " index";
}
这会打印出 "no index"。所以 Auth::check() return false,但是 index 方法仍然是 raeched。
在中间件之前调用构造函数。 Laravel 允许您提供控制器中间件,因此您可以从控制器构造函数中推送到中间件堆栈。
控制器构造函数中任何形式的会话交互都会失败。