【问题标题】:Laravel 5.8 Logout, Back, Clicked Button And ErrorLaravel 5.8 注销、返回、单击按钮和错误
【发布时间】: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 &lt;h8&gt;You Are Loged as,&lt;/h8&gt; &lt;b&gt;{{Auth::check() ? Auth::user()-&gt;name : "user was logout" }}&lt;/b&gt;&lt;span class="caret"&gt;&lt;/span&gt;&lt;/a&gt; 。 HTML 有标签 吗?

标签: laravel


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    解决方案很简单,不在路由上,在 laravel 5.8 中不需要路由(如果您制作了自定义身份验证和重定向页面,则需要使用路由)。在你的控制器中添加这个库:

    use Illuminate\Support\Facades\Auth;
    

    并在您的控制器中添加它:

    public function __construct()
        {
            $this->middleware('auth');
            $this->user =  \Auth::user();
        }
    

    我还没有找到浏览器上的后退按钮并重定向到其他或登录页面的解决方案,至少这是我能做的。它会阻止您页面上的按钮操作并重定向到登录页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2020-06-04
      • 2014-10-22
      相关资源
      最近更新 更多