【发布时间】:2019-07-13 20:50:47
【问题描述】:
问题
Laravel 的方法Auth::check() 在我的控制器的__construct 方法中返回false,但它在使用的任何其他方法中返回true(当然,当我登录时)。我假设当程序遇到__construct 方法时,Auth 外观还没有完全准备好使用?或者类似的东西。
供参考,Request::path() 在 Auth::check() 返回 false 的同一位置正常工作。
示例
public function __construct()
{
dd(Auth::check()); // Returns False
dd(Request::path()); // Returns full path as expected
}
public function dashboard()
{
dd(Auth::check()); // Returns True
}
问题
如何使 Laravel Auth -> 'Illuminate\Support\Facades\Auth' 在我的控制器的 __construct 方法中可用。
【问题讨论】:
-
@vivek_23 感谢您提供可能的重复数据流,这真的很有帮助
-
作为替代方案,您可以直接在控制器的构造函数中定义基于闭包的中间件引用 Laravel doc upgrade to 5.3
-
@HamzStramGram 我试过了,但它似乎对我不起作用,但是我通过为我想要的操作创建一个中间件解决了这个问题。
标签: php laravel authentication controller