我现在正在学习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中身份验证的工作原理。
答案 0 :(得分:3)
您已将Authenticate
中间件添加为全局中间件。
摘自文档 -
如果您希望在对应用程序的每个HTTP请求期间运行中间件,只需在$middleware
类的app/Http/Kernel.php
属性中列出中间件类。
如果您尚未登录,则无法访问任何页面。要登录,您必须访问至少登录表单。但是你不能导致你没有登录。这会创建infinte循环。
这就是为什么你无法访问任何页面。
参考 - https://laravel.com/docs/5.4/middleware#registering-middleware