lloricode/filament-spatie-laravel-permission-plugin

这是我的包filament-spatie-laravel-permission-plugin

v1.0.1 2024-09-05 04:07 UTC

This package is auto-updated.

Last update: 2024-09-05 04:10:59 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

要求

先决条件

要使用此包,您需要安装spatie/laravel-permission v6.9+。然后遵循spatie/laravel-permission的安装指南。

此插件基于通配符权限。因此,您必须在您的config/permission.php文件中设置此选项,否则将抛出异常请启用config/permission.php中的通配符权限

// config/permission.php
'enable_wildcard_permission' => true,

安装

您可以通过composer安装此包

composer require lloricode/filament-spatie-laravel-permission-plugin

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="filament-permission-config"

这是已发布配置文件的内容

https://github.com/lloricode/filament-spatie-laravel-permission-plugin/blob/main/config/filament-permission.php

使用方法

use Lloricode\FilamentSpatieLaravelPermissionPlugin\FilamentPermissionPlugin;

->plugins([
    FilamentPermissionPlugin::make(),
])

设置用户模型

// ...
use Lloricode\FilamentSpatieLaravelPermissionPlugin\Concern\PermissionUser;
use Lloricode\FilamentSpatieLaravelPermissionPlugin\Contracts\HasPermissionUser;

class Admin extends Authenticatable implements HasPermissionUser // ...
{
    use PermissionUser;
// ...

设置Filament页面

// ...
use Lloricode\FilamentSpatieLaravelPermissionPlugin\Concern\PermissionPages;
use Lloricode\FilamentSpatieLaravelPermissionPlugin\Contracts\HasPermissionPages;

class MyPage extends Page implements HasPermissionPages
{
    use PermissionPages;
// ...

设置Filament小部件

// ...
use Lloricode\FilamentSpatieLaravelPermissionPlugin\Concern\PermissionWidgets;
use Lloricode\FilamentSpatieLaravelPermissionPlugin\Contracts\HasPermissionWidgets;

class MyWidget extends ChartWidget implements HasPermissionWidgets
{
    use PermissionWidgets;
// ...

最后,运行此命令以生成权限。

php artisan permission:sync

测试

composer test

变更日志

请参阅变更日志了解最近的变化。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件