Qil*_*Ren 2 php authentication laravel laravel-5.4
我想让我的索引页同时具有guest和auth功能。
当客人来访时,他们可以尝试登录;并且在登录后,它会显示用户的信息,如用户名。
下面是我所做的。
路由定义在routes/web.php:
Route::get('/', 'CommonController@index');
Auth::routes();
Run Code Online (Sandbox Code Playgroud)
在刀片模板中index,我曾经Auth::user()验证过身份验证但失败了。
@if(Auth::user())
<div id="user-panel">
<a href="" class="user-panel-button">
New Article
</a>
<div class="btn-group user-panel-button">
<a type="button" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="{{ Auth::logout() }}">Logout</a></li>
</ul>
</div>
</div>
@else
<a href="{{ url('login') }}" class="button">
Login
</a>
@endif
Run Code Online (Sandbox Code Playgroud)
每次我成功登录login后,在我刷新索引页面后,它仍然会显示按钮而不是用户名按钮。
我检查了会话信息,一旦我刷新页面,login_web_xxxxxxxxxxx会话就会消失。
此外,当我为 auth 使用 Laravel 默认路径时/home,它起作用了。无论您刷新页面多少次,都可以始终显示用户名。
我应该如何解决这个问题?非常感谢。
对于 Laravel 5.4,您可以使用:
@if(Auth::check())
// The user is authenticated...
@else
// The user is not authenticated...
@endif
Run Code Online (Sandbox Code Playgroud)
对于 Laravel 5.5 及以上版本:
@auth
// The user is authenticated...
@endauth
@guest
// The user is not authenticated...
@endguest
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22945 次 |
| 最近记录: |