Laravel 中的默认身份验证功能不起作用,注销功能不会显示

The default authentication function in Laravel didnt work, logout function cant show up

 @if (Auth::guest())
                    <li><a href="{{ url('/login') }}">Login</a></li>
                    <li><a href="{{ url('/register') }}">Register</a></li>
                @else
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                            {{ Auth::user()->name }} <span class="caret"></span>
                        </a>

                        <ul class="dropdown-menu" role="menu">
                            <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li>
                        </ul>
                    </li>
                @endif

这是我 运行 命令后自动生成的代码:php artisan make:auth 在生成文件并为数据库设置后,它可以让我注册和登录。 但它无法在我登录或注册后显示注销按钮。上面的代码正在检查会话是否有任何用户。如果是没有用户登录,那么会出现网站右边的登录和注册按钮。点赞主页的this:Default -


但是一切都保持不变,我可以找出错误的部分。Auth::check() Auth::user()这两个我已经尝试过,但仍然没有用。谁有解决方案?

如果在添加 Auth 脚手架后这一切都是默认设置,您将不得不调整路由。

您需要将 web 中间件组应用于您将使用该布局的任何路由。您可以将它们移动到使用 'web' 中间件的 Route::group

Route::group(['middleware' => ['web']], function () {
    Route::get('/', function () {
        return view('welcome');
    });        
});

此网络组为您提供 Auth 正在使用的会话。