Php Laravel 5.4身份验证::检查()错误
我想用guest和auth函数创建索引页 当客人来访时,他们可以尝试登录;登录后,它将显示用户的信息,如用户名 RoutePhp Laravel 5.4身份验证::检查()错误,php,laravel,authentication,middleware,Php,Laravel,Authentication,Middleware,我想用guest和auth函数创建索引页 当客人来访时,他们可以尝试登录;登录后,它将显示用户的信息,如用户名 Routeroutes/web.php: Route::get('vendor', function () { return view('vendor.home'); })->name('vendor')->middleware('web'); 在刀片模板中,我使用Auth::check()进行身份验证,但失败。如果我使用中间件(['web','Auth:vend
routes/web.php:
Route::get('vendor', function () {
return view('vendor.home');
})->name('vendor')->middleware('web');
在刀片模板中,我使用Auth::check()
进行身份验证,但失败。如果我使用中间件(['web','Auth:vendor']),
如果来宾将重定向到登录页面
@if(Auth::guest())
<li><a href="{{route('vendor.login')}}"> <strong><i class="fa fa-user"></i> Login </strong> </a></li>
<li><a href="{{route('vendor.register')}}" class="btn btn-primary oval btn-lg"> <strong>Register</strong> </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="{{ route('vendor.logout') }}" class="btn btn-default btn-flat">Log Out</a>
</li>
</ul>
</li>
@endif
{{ dd(Auth::check()) }}
@if(Auth::guest())
@否则
-
@恩迪夫
{{dd(Auth::check())}
每次我成功登录时,刷新索引页后,它仍然会显示登录按钮而不是用户名按钮
这个结果
尝试用
\Auth::
或Auth()替换Auth::
@if(\Auth::guest())
@否则
-
@恩迪夫
{{dd(\Auth::user())}
这是我的答案
@if(Auth::guard('vendor')->check())
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::guard('vendor')->user()->name }} <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="{{ route('vendor.dashboard') }}">Dashboard</a>
</li>
<li>
<a href="{{ route('vendor.logout') }}" >Log Out</a>
</li>
</ul>
</li>
@else
<li><a href="{{route('vendor.login')}}"> <strong><i class="fa fa-lock"></i> Login </strong> </a></li>
<li><a href="{{route('vendor.register')}}" class="btn btn-success btn-lg"> <strong>Register</strong> </a></li>
@endif
@if(Auth::guard('vendor')->check())
-
-
@否则
@恩迪夫
根据您的版本,您可以使用@guest@endguest
或@auth@刀片服务器中的endauth
。@guest
和@auth
不工作您必须在路由上添加中间件auth如果我在->中间件(['web','auth'])上添加中间件auth
guest将删除,结果为空useauth()->user()
是否也返回空?您需要从控制器再次检查。请尝试\Auth::check()
\Auth::user()
返回实际登录的用户\Auth::check()
检查用户是否已登录且有效。如果我使用$this->中间件('Auth:vendor')代码>在构造Auth::user()中工作,但来宾将重定向到登录。我没有去
@if(Auth::guard('vendor')->check())
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::guard('vendor')->user()->name }} <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="{{ route('vendor.dashboard') }}">Dashboard</a>
</li>
<li>
<a href="{{ route('vendor.logout') }}" >Log Out</a>
</li>
</ul>
</li>
@else
<li><a href="{{route('vendor.login')}}"> <strong><i class="fa fa-lock"></i> Login </strong> </a></li>
<li><a href="{{route('vendor.register')}}" class="btn btn-success btn-lg"> <strong>Register</strong> </a></li>
@endif