首页 > 解决方案 > Laravel 5.8 注销、返回、单击按钮和错误

问题描述

我使用 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>

标签: laravel

解决方案


您可以通过创建路由组在多个路由中使用默认的 auth 中间件。

    Route::group(['middleware' => ['auth']], function () {
        Route::post('/editPost', 'YourPostController@edit');
    });

推荐阅读