如何在没有适当权限的情况下隐藏或禁用 Laravel Livewire 中的部分网页的其他方法?

问题描述 投票:0回答:1

我想知道 Laravel 是否具有某种功能,如果用户没有任何类型的权限,我可以隐藏或禁用网页的部分内容。例如:
我有一个名为“反馈”的导航按钮

<a class="btn btn-secondary" href="/feedback">Feedback</a>

现在我们有一个用户管理员和管理员,管理员可以看到或单击按钮,但管理员看不到。我也想过只使用 if else 但只是想知道是否有方法可以有效地做到这一点。

php html laravel laravel-blade laravel-livewire
1个回答
0
投票

当然,您可以使用 @can 指令。

@can('see', \App\Models\Feedback::class)
    <a class="btn btn-secondary" href="/feedback">Feedback</a>
@endcan

那么您最好有一个反馈模型的策略:

反馈政策.php

public function see(Authenticatable $user): bool {
  return $user->type === UserType::ADMIN;
}
© www.soinside.com 2019 - 2024. All rights reserved.