@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
在生成文件并为数据库设置之后,它可以让我注册并登录。
但是在登录或注册后它无法显示注销按钮。上面的代码是检查会话是否有任何用户。如果没有用户登录,那么它将出现在网站右侧的登录和注册按钮。像这样:主页的默认值 -
但是一切都保持不变,我可以找出错误的部分。Auth::check() Auth::user()
这两个我已经尝试了,但它仍然没有用。有人有解决方案吗?
答案 0 :(得分:2)
如果在添加Auth脚手架后这都是默认值,则必须调整路线。
您需要将 web 中间件组应用于您将使用该布局的任何路线。您可以将它们移动到使用“网络”中间件的Route::group
。
Route::group(['middleware' => ['web']], function () {
Route::get('/', function () {
return view('welcome');
});
});
此网络群组为您提供Auth正在使用的会话。