Laravel Permission 是 Laravel 中管理用户角色和权限最强大的包之一。 Spatie 的 Laravel Permission 使实现 RBAC(基于角色的访问控制)比以往任何时候都更容易
Laravel Permission 是一个功能强大的包,用于在 Laravel 应用程序中定义角色、分配权限和管理用户访问权限。它具有易于使用的语法和强大的功能。
在 Filament 中,有一个插件可以使用 spatie / Laravel-permission 来管理 Filament 面板中资源、页面和小部件的权限。
Filament Shield由全栈专家开发人员 Bezhan Salleh 创建。使用 Filament Shield,您可以轻松管理支持最新 spatie / Laravel 权限的角色和权限。
如果我们想为我们的项目安装 Filament Shield,我们需要做的第一件事是运行以下命令:
composer require bezhansalleh/filament-shield
现在我们需要添加 Spatie\Permission\Traits\HasRoles 我们的用户模型的特征。
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
然后我们发布config文件,然后使用以下命令设置我们的配置:
php artisan vendor:publish --tag=filament-shield-config
app\Providers\Filament\AdminPanelProvider.php 使用此语法的文件,
->plugins([
\BezhanSalleh\FilamentShield\FilamentShieldPlugin::make()
])
最后,要将灯丝屏蔽安装到我们的项目中,我们执行以下命令:
php artisan shield:install
现在,我们有了带有角色表的新角色菜单,默认角色是超级管理员,
.
当我们创建角色时,我们将看到角色创建表单,其中包含我们创建的所有模型和资源,以及所有角色的权限以及他们可以执行和不能执行的操作。