【发布时间】:2020-07-11 15:56:51
【问题描述】:
我使用 Laravel 的默认身份验证,并在登录后将其定向到我的 cms 模板。然后我从 Laravel 原始页面中剪切了注销部分,并将其粘贴到我的 cms 模板中,仅用于注销部分。但是,一旦我注销并在浏览器上单击返回,就可以访问上一页,但是当我单击一个按钮(例如“编辑”)后,就会显示下面的通知。
试图获取非对象的属性“名称”(查看:C:\xampp\htdocs \mylaravel\resources\views\master\header.blade.php)
我想要的是,当单击“编辑”按钮或其他按钮时,它会返回登录页面,并且没有像上面那样的错误。我怎样才能做到这一点? (我试过session::flush 和其他东西并没有真正起作用。现在我只需要当用户点击任何处理按钮时,它会在注销后直接进入登录页面)。
我的模板视图:
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
<h8>You Are Loged as,</h8>
<b>{{ Auth::user()->name }}</b><span class="caret"></span>
</a>
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> {{ __('Logout') }}</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</div>
</li>
【问题讨论】:
-
可以添加中间件('auth');到你的路由,比如 Route::post('editPost', function () { // 或者你可以添加你的控制器 })->middleware('auth');
-
header.blade.php 文件的标签
内有错误,您可以检查用户是否是 auth <h8>You Are Loged as,</h8> <b>{{Auth::check() ? Auth::user()->name : "user was logout" }}</b><span class="caret"></span></a>。 HTML 有标签吗?
标签: laravel