【问题标题】:unable to view pages after adding Authnticate middleware添加 Authenticate 中间件后无法查看页面
【发布时间】:2023-03-21 03:35:02
【问题描述】:

我现在正在学习 Laravel 几天。在检查 kernel.php 文件时,我在全局中间件数组中添加了 Authenticate 中间件,默认情况下只有 CheckForMaintenanceMode 中间件。

protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Auth\Middleware\Authenticate::class
];

但是由于添加了 Authenticate 中间件,我无法访问(我不是指访问,我是指访问页面本身)浏览器上的任何页面。在 chrome 上它是这样说的:

"This page isn’t working

blog.dev redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS"

谁能告诉我为什么?如果我删除了 Authenticate 中间件,则页面可以再次访问。请注意,我的 web.php 文件中没有为路由注册中间件。只是想了解在 Larave 中如何使用身份验证。

【问题讨论】:

  • 不明白为什么投反对票!!这不是很明显 - 将 Auth 中间件添加到全局中间件堆栈时创建的无限循环

标签: php laravel middleware


【解决方案1】:

您已将Authenticate 中间件添加为全局中间件。

文档摘录-

如果您希望在对应用程序的每个 HTTP 请求期间运行中间件,只需在 app/Http/Kernel.php 类的 $middleware 属性中列出中间件类即可。

如果您未登录,则无法访问任何页面,并且要登录,您必须访问至少登录表单。但是你不能导致你没有登录。这会产生无限循环。

这就是您无法访问任何页面的原因。

参考 - https://laravel.com/docs/5.4/middleware#registering-middleware

【讨论】:

  • 是的,我已经阅读了文档,但无法弄清楚它创建的无限循环。我怎么错过了?!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-15
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 2020-04-04
相关资源
最近更新 更多