【问题标题】:Unable to access sessions in Laravel app\Exceptions\Handler.php无法访问 Laravel app\Exceptions\Handler.php 中的会话
【发布时间】:2023-03-21 18:12:01
【问题描述】:

我正在尝试根据用户登录显示 404 页面,为此我正在尝试从会话中获取登录的用户 ID。

但会话session()->all() 总是返回空数组,而且auth()->id();Auth::id(); 也是空值。

【问题讨论】:

  • 试试Auth::user()->id;
  • 收到Trying to get property of non-object 错误
  • 您登录了吗?您是否在登录后尝试访问此内容??
  • 是的,我已登录,我可以访问普通 url 的会话,但对于 404 异常,它是空的
  • 也许here的答案可以帮助你。问题是 Laravel 会话不是默认在错误页面上启动的,因为它们是在 Web 中间件中的大多数其他页面上。

标签: php laravel exception handler


【解决方案1】:

这是因为在app/Http/Kernel.php 中,protected $middleware 数组没有会话的中间件。

您可以做的是将\Illuminate\Session\Middleware\StartSession::class, 中间件从web middlware 组移动到全局$middleware 数组。

【讨论】:

  • 谢谢@Lloople
猜你喜欢
  • 1970-01-01
  • 2018-03-19
  • 2018-04-02
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多