首页 > 解决方案 > 向特定用户隐藏页面

问题描述

我最近收到了对某种类型的用户隐藏某个页面的请求。为此,我在“users”表中创建了一个名为“masters”VARCHAR,NULL 的结构。我想在我希望他看到页面的用户中输入“1”,对于那些看不到页面的用户输入“0”。最好的建议是什么?

  <li>
    <a href="masters">
      <i class="now-ui-icons users_single-02"></i>
      <p>Materials</p>
    </a>
  </li>



Route::get('/masters', function () {
    return view('masters');
});

标签: phphtmllaravel

解决方案


您可以使用 Gates,在您的App\Providers\AuthServiceProvider

public function boot()
{
    $this->registerPolicies();

    Gate::define('masters', function ($user) {
        return $user->masters == "1";
    });
}

然后你的路线将是。这将隐藏整个页面。

Route::get('/masters', function () {
    return view('masters');
})->middleware('can:masters');

如果你想隐藏页面的一部分

@can('masters')
    <!-- The Current User Can see this part -->
@endcan

推荐阅读