将页面隐藏到特定用户



我最近收到一个向特定类型的用户隐藏特定页面的请求。为此,我在"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');
});

您可以在AppProvidersAuthServiceProvider中使用Gates

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

嗨,我想你正在使用Laravel,现在,我正在使用另一个框架,所以我忘了一点语法,所以,您需要定义您在注册表格中看到的中间件。已经定义了一个中间件,它限制对您的web应用程序的访问,因此磁带中间件并观看有关它的课程,您可以限制访问,并为访客和特定用户放置您想显示的任何内容。

您想在Blade模板中隐藏HTML块吗?您可以使用刀片中的条件来检查用户,类似于以下内容:

@if (Auth::user()->masters) 
<li>
<a href="masters">
<i class="now-ui-icons users_single-02"></i>
<p>Materials</p>
</a>
</li>
@endif

最新更新