【问题标题】:Auth::check() returns false Laravel 5.4Auth::check() 返回错误 Laravel 5.4
【发布时间】:2017-11-27 02:41:49
【问题描述】:

我已经使用一个简单的命令创建了身份验证所需的路由和视图:

php artisan make:auth

一切正常登录和注册部分。但是,当我去控制器的构造函数检查用户是否登录时,我总是得到错误的响应;即使用户已登录!

public function __construct()
{
    dd(Auth::check());

}

有什么想法吗?!是的,我在顶部做了use Auth;

【问题讨论】:

  • 试试这个\Auth::check()而不是Auth::check()
  • 返回时仍然是假的

标签: php laravel authentication laravel-5.4


【解决方案1】:

使用辅助函数auth()->check()并添加

$this->middleware('auth')function __construct() 方法。

【讨论】:

  • 你能在auth()->check()上方插入auth()->loginUsingId(1),看看你猜对了吗?
  • 1/1) BadMethodCallException 方法 loginWithId 不存在。
  • 我的错。是loginUsingId()
  • 是的,我得到了用户对象作为用户信息的回报。
  • 那么LoginController 出了点问题,我们需要更多相关信息。你应该在构造方法中使用Auth Middleware
【解决方案2】:

中间件(因此设置登录用户)直到控制器构造函数之后才会发生。有关详细信息,请参阅此相关问题/答案:

Laravel 5 Auth is non object in Controller construct

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 2018-12-19
    • 2018-01-07
    • 2015-03-03
    • 1970-01-01
    • 2015-12-14
    • 2017-06-10
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多