shanerbaner82/panel-roles

Filament Panel Roles 是一种直观的方式,确保在 Filament v3 中指定的面板的所有用户在注册时分配了角色,并且使用 Laravel 中间件指定了角色。

v0.0.3 2023-10-10 00:33 UTC

This package is auto-updated.

Last update: 2024-09-10 02:28:06 UTC


README

Filament Panel Roles

Filament Panel Roles

Filament Panel Roles 是一种直观的方式,确保在 Filament v3 中指定的面板的所有用户在注册时分配了角色,并且使用 Laravel 中间件指定了角色。

安装

  composer require shanerbaner82/panel-roles

设置

Filament Panel Roles 需要您安装 Spatie 的 Laravel Permissions 包。所需的最小设置是

  1. 安装 Spatie 的包
  2. RoleMiddleware 添加到您的 app/Http/Kernel.php

用法

在您的任何 Filament 面板中添加 Panel Roles 插件,并指定用户登录时将被分配和必须拥有的角色。

use Shanerbaner82\PanelRoles\PanelRoles;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ... 
            ->plugin(PanelRoles::make()
                ->roleToAssign('developer')
                ->restrictedRoles(['admin', 'developer']),
            )
    }
}

技术上您不需要在面板上链式调用 registration() 函数,但如果这样做,当用户注册时,他们将分配提供的角色。

额外功能

在 YouTube 上观看 LaravelOnline 了解此插件是如何创建的,以及更多关于 Laravel 和 Filament 的信息!