Laravel - 已安装身份验证但未找到注销路径

我制作了一个 laravel 系统,并包含了文档中所述的 Auth 脚手架。我通过使用安装它


composer require laravel/ui --dev


php artisan ui vue --auth

并运行npm install和npm run dev编译资产。但由于某些奇怪的原因,/logout路线返回 404。我的路线看起来像这样


Route::get('/', function () {

    return view('welcome');

});


Auth::routes();

我不知道在哪里看。我怎样才能解决这个问题?


翻翻过去那场雪
浏览 106回答 2
2回答

慕尼黑8549860

如果你看一下,vendor/laravel/framework/src/Illuminate/Routing/Router.php你会看到这段代码:public function auth(array $options = []){    // Authentication Routes...    $this->get('login', 'Auth\LoginController@showLoginForm')->name('login');    $this->post('login', 'Auth\LoginController@login');    $this->post('logout', 'Auth\LoginController@logout')->name('logout');...这意味着没有GET为注销定义路由,只有POST. 这就是您收到 404 响应的原因。GET如果需要,您可以使用自定义页面自己添加一条路线,例如:Route::get('/logout', function () {    return view('my_logout_view');});

慕标琳琳

注销路由是其他人所说的 POST 请求。如果你想使用它,你&nbsp;<a href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">Logout</a><form id="logout-form" action="{{ route('logout') }}" method="POST" class="hidden">{{ csrf_field() }}</form>请注意,method表单中的 设置为POST并且我们正在使用 ,{{ csrf_field() }}因此我们可以提出该请求。
打开App,查看更多内容
随时随地看视频慕课网APP