在 laravel 8 中尝试运行带有中间件的路由时遇到以下错误:
... route [web] not defined.
问题:
当您尝试运行带有中间件的路由时,为什么会出现此错误?
答案:
此错误表示您尝试访问的路由没有定义。在 laravel 中,为了使用中间件,必须先定义路由。当您访问需要身份验证的受保护路由时,如果尚未登录,系统会自动将您重定向到登录页面。但是,如果您没有为登录页面定义路由,就会发生此错误。
解决方案:
要解决此问题,请在 web.php 文件中定义名为 login 的路由如下:
Route::get('/login', 'AuthLoginController@showLoginForm')->name('login');
这将定义一个 get 路由,指向 authlogincontroller@showloginform 控制器方法。此方法将显示登录表单。