【发布时间】:2017-05-21 21:12:49
【问题描述】:
问题
在显示 HTTP 错误页面(404、500 等)时,我想保持当前项目的标准设计,包括页眉和页脚。我的项目还包括一个注册系统。当用户登录并收到错误消息时,他将被重定向到相应的错误页面,但 Laravel 无法识别用户已登录。那是因为自定义错误页面(位于 resources/views/errors/{code}.blade.php 不通过正常的 Web 中间件运行(出于某些原因)。
此行为已被多次报告,但未提供足够的答案。 hacky 解决方案是设置 StartSession 中间件以应用于每个请求,但在我的情况下这还不够。
如何在自定义错误页面上使用 Auth/Session 中间件?
不适合的解决方案
- 我不想将
StartSession中间件(或任何其他)添加到每个请求中
相关问题和链接
- Laravel Auth in error pages, Laravel 5.0 custom 404 does not use middleware -> 不需要解决方案
- Laravel 5.2 Auth::check() on exception pages (layouts)没有好的解决方案
- A GitHub issue I opened,因为我认为这种行为不是故意的
【问题讨论】:
-
很好的问题。很想知道它的结果。我刚刚检查了 GH 问题,看它是否以前被提出过,并注意到你在那里也添加了一个问题 - 祝你好运通过 GC ;)
-
遇到同样的问题,还没找到好的解决方案。
标签: php laravel laravel-5 error-handling middleware