我正在玩Laravel 5.4.23,当我遇到404页面auth()
,auth()->check()
,auth()->user()
,并且这些未初始化,因此在视图中返回null,附近的任何地方。auth()方法null异常
我还跟AppServiceProvider.php类做一些测试,
dd(auth()->check());
回报在boot
法空,即使我登录,这使得0了意义。
这意味着,无论何时用户点击404页面,navbars等都不会呈现用户数据,例如,传统上我们在navbar的顶部右侧有用户配置文件按钮,就像这里在stackoverflow上那样在Laravel,这是不可能的,我所看到的。
我在正确的轨道上还是错过了什么?
在我看来,Laravel尝试在完成我测试的请求后登录用户。
希望我在这里找到答案。
谢谢。
UPDATE:
包括在app \提供商的boot
方法手动登录尝试\ AppServiceProvider似乎解决空问题的AUT()命令,但我相信,这将尝试登录的用户每页请求两次,因为显然Laravel在启动后获取登录用户,异常请求和不知道其他内容。
这仍然不能解决在AppServiceProvider,Auth :: check()仍然返回false的问题,它在处理程序,但不是在appserviceprovider中工作,我试图查看laravel源代码,看看是否有一个可能的方式在其余的之前加载Auth – Emad
为什么你想要在服务提供商的auth用户? – Sandeesh
我并不真的需要它,我只是想和laravel源代码哈哈一塌糊涂,所以我试图找出如何工作的事情,到目前为止,您的解决方案工作,我仍然在他们的源代码检查,每周1次这里laravel用户:)昨天 – Emad