管理面板和客户端部分有一个任务来制作不同的 404 错误页面。我想在 render() 方法的 App\Exceptions\Handler 中执行此操作,但这里尚未加载用户\Auth:用户()返回空值;
因此,无法检查此管理员以及他是否在管理员页面上。因此,在前面,它也不能正常工作。当发生 404 错误时,用户面板会显示他没有登录,这本身就是不好的,因为。用户实际上已登录。
如何在404模板中保存用户信息?为不同的用户提供不同的 404 页面如何正确?
app/Http/Kernel.php
可以选择在属性中添加$middleware
一行
\Illuminate\Session\Middleware\StartSession::class,
因此,用户将被加载,App\Exceptions\Handler
但是如果我们尝试传输类似的东西,这样的方法会终止路由中的会话
return redirect()->back()->withErrors(['error' => 'Ошибка при сохранеии, что-то пошло не так...'])->withInput();
然后我们将看不到$errors
视图中可用的全局变量中的任何内容,什么都没有。
我认为正确的解决方案是使用 fallback() 方法,在最底部的路由文件中,您需要添加
并且在控制器中,您可以调用所需的视图。
第二种解决方案是在
app/Http/Kernel.php
属性$middleware
中添加以下代码但同时,在属性
$middlewareGroups['web']
中,您需要删除这 3 行相同的代码。这样的解决方案可能不是最好的,因为我们将在整个应用程序中启动,不应该在任何地方启动。也许这会影响应用程序的安全性。