【发布时间】:2017-12-18 16:51:00
【问题描述】:
我想用guest 和auth 函数创建我的索引页。
客人来访时,可以尝试登录;登录后会显示用户名等信息。
以下是我所做的。
路由定义在routes/web.php:
Route::get('/', 'CommonController@index');
Auth::routes();
在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
每次登录成功,刷新索引页后,还是会显示login按钮而不是用户名按钮。
我查看了会话信息,一旦我刷新页面,login_web_xxxxxxxxxxx 会话就会消失。
此外,当我使用 Laravel 默认路径进行身份验证 /home 时,它起作用了。无论您刷新页面多少次,都可以始终显示用户名。
我应该如何解决这个问题?非常感谢。
【问题讨论】:
-
您的存储文件夹是否有正确的权限?
-
您正在调用
Auth::logout(),这实际上将用户注销,无需单击按钮。 -
我很确定我没有在这里调用
Auth::logout(),并且存储文件夹的权限是正确的,因为HomeController中路径home的默认页面是有效的。无论我刷新页面多少次,login_web_xxx会话都可用。 -
<li><a href="{{ Auth::logout() }}">Logout</a></li> -
啊,我明白了。我知道如何正确行事。谢谢,@aynber
标签: php laravel authentication laravel-5.4