Laravel 控制器返回'false',而仪表板控制器返回'true`
我正在运行laravel 6.11 默认情况下,我们有这个Laravel 控制器返回'false',而仪表板控制器返回'true`,laravel,Laravel,我正在运行laravel 6.11 默认情况下,我们有这个 class Controller extends BaseController { use AuthorizesRequests, DispatchesJobs, ValidatesRequests; public function __construct() { dd(Auth::check()); } } 我已经这样定义了我的控制器 class DashboardContr
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function __construct()
{
dd(Auth::check());
}
}
我已经这样定义了我的控制器
class DashboardController extends Controller
{
/**
* Display dashboard
*
* @return \Illuminate\Http\Response
*/
public function index()
{
dd(Auth::check());
}
}
现在用户成功登录
并在不同时间访问同一页面、仪表板
控制器返回false
而仪表板控制器返回true
这是为什么?,您无法在控制器构造函数中访问会话(包括身份验证)。但是,您可以在构造函数中定义一个中间件闭包,该闭包将访问会话
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function __construct()
{
$this->middleware(function ($request, $next) {
dd(Auth::check());
});
}
}
由于web.php中的define auth,这就是为什么请您的web.phpI添加了my web.php