我使用默认的laravel身份验证并将用户名输入到我的表单中 . 但是当我使用注销时,它显示注销路线并显示错误页面到期 .
这是我的视图注销代码
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li><a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a></li>
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
当我点击注销它显示我/注销网址,它不起作用 . 我该如何修复此错误并重定向到我的/ home路径
2 回答
只需在注销表单中将
@csrf
替换为{{ csrf_field() }}
:您的问题,因为没有使用注销表单发送的csrf令牌 .
您的会话Cookie可能存在问题 .
这可能取决于您的环境,但我之前通过确保
config/session.php
文件包含此行来修复此问题'domain' => env('SESSION_DOMAIN', null),
然后删除
.env
文件中的SESSION_DOMAIN
行然后
composer dumpautoload
另外,检查
.env
中的APP_URL
是否正确 .