I want to make my index page with both guest and auth functions.
When guests visit, they could try logging in; And after login, it will show the user's info such as username.
Route routes/web.php:
Route::get('vendor', function () {
return view('vendor.home');
})->name('vendor')->middleware('web');
in blade template i use Auth::check()
to authentication but failed.if i use middleware(['web','auth:vendor'])
if guest will redirect to login page
@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()) }}
Every time I logged in successfully, it will still show login button instead of user name button, after I REFRESH the index page.
@guest ... @endguest
or@auth ... @endauth
in Blade. – brombeer@guest
and@auth
not working – story ks->middleware(['web','auth']);
guest will deny – story ks