Laravel 身份验证注销不';t工作拉威尔

Laravel 身份验证注销不';t工作拉威尔,laravel,authentication,routes,blade,middleware,Laravel,Authentication,Routes,Blade,Middleware,我使用命令创建了用于身份验证的文件 php artisan make:auth 我在互联网上读到,注册、登录和注销都应该正常工作,但是localhost:8080/logout不工作,我不知道为什么 我还读了一些关于在应用程序中修改AuthController的内容,但我并没有那个文件 我尝试手动完成,这意味着我创建了一个中间件LogoutRedirect: public function handle($request, Closure $next) { return redire

我使用命令创建了用于身份验证的文件

php artisan make:auth
我在互联网上读到,注册、登录和注销都应该正常工作,但是localhost:8080/logout不工作,我不知道为什么

我还读了一些关于在应用程序中修改AuthController的内容,但我并没有那个文件

我尝试手动完成,这意味着我创建了一个中间件LogoutRedirect:

 public function handle($request, Closure $next)
{
    return redirect(pages.logout);
}
在我添加的路线中

use App\Http\Middleware\LogoutRedirect;

Route::get('logout', function()
{
    return view('pages.logout');
})->middleware(LogoutRedirect::class);
logout.blade.php看起来像

{{ Auth::logout() }}
我收到错误(尝试访问localhost:8080/注销时)

我该怎么办


编辑
我尝试了另一种方法(但没有更好的结果):

  • 将重定向到“/”的路由重命名为“主”
  • 在app/http/Controllers/Auth中创建LogoutController

  • 走这条路

    Route::post('logout', array(
        'as' => 'account-sign-out',
        'uses' => 'Auth\LogoutController@logout'
    ));
    
  • 我得到的错误是

      MethodNotAllowedHttpException in RouteCollection.php line 233:
    

    这与我尝试使用auth中定义的默认注销时遇到的错误相同。您尝试使用get访问注销页面。但这不起作用,因为您的注销路径是post路径。 改变


    当您使用GET方法转到/logout路由(转到页面时的默认方法)时,它应该可以工作。

    return redirect(route('pages.logout');也许吧。谢谢,它成功了,我添加了返回重定向(route(‘home’);并将第一个根(带“/”)命名为“home”。现在它访问刀片文件,并重定向到主页,但它没有注销它工作了,非常感谢!!不过我写了一个小纸条“LogoutController@logout“,但事实上”LoginController@logout"
    Route::post('logout', array(
        'as' => 'account-sign-out',
        'uses' => 'Auth\LogoutController@logout'
    ));
    
      MethodNotAllowedHttpException in RouteCollection.php line 233:
    
    Route::post('logout', array(
        'as' => 'account-sign-out',
        'uses' => 'Auth\LogoutController@logout'
    ));
    
    Route::get('logout', [
        'as' => 'account-sign-out',
        'uses' => 'Auth\LogoutController@logout'
    ]);