添加Authnticate中间件后无法查看页面

时间:2017-07-20 06:56:37

标签: php laravel middleware

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

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

但是,由于添加身份验证中间件,我无法访问(我不是指访问,我的意思是访问页面本身)我浏览器上的任何页面。在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中身份验证的工作原理。

1 个答案:

答案 0 :(得分:3)

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

摘自文档 -

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

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

这就是为什么你无法访问任何页面。

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