moonshine / permissions
MoonShine 用户权限
1.0.2
2023-12-22 15:23 UTC
Requires
- php: ^8.1|^8.2
- ext-curl: *
- ext-json: *
Requires (Dev)
- brianium/paratest: ^6.8
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpstan/phpstan: ^1.4.7
- phpunit/phpunit: ^9.5.8
Conflicts
- moonshine/moonshine: <2.0
This package is auto-updated.
Last update: 2024-09-10 09:28:29 UTC
README
要求
- MoonShine v2.0+
安装
composer require moonshine/permissions
运行迁移
php artisan migrate
开始使用
- 在config/moonshine.php中更改MoonShineUser模型
use MoonShine\Permissions\Models\MoonshineUser; return [ // ... 'auth' => [ // ... 'providers' => [ 'moonshine' => [ 'driver' => 'eloquent', 'model' => MoonshineUser::class, ], ], ], // ... ];
或者在用户模型中添加HasMoonShinePermissions特质
use MoonShine\Permissions\Traits\HasMoonShinePermissions; class MoonShineUser extends Model { use HasMoonShinePermissions; }
- 发布系统资源
php artisan moonshine:publish
- 为MoonShineUserResource添加WithPermissions特质
use MoonShine\Permissions\Traits\WithPermissions; class MoonShineUserResource extends ModelResource { use WithPermissions; public string $model = MoonShine\Permissions\Models\MoonshineUser::class; // ... }
菜单中显示条件的示例
use MoonShine\MoonShineRequest; protected function menu(): array { return [ MenuItem::make('Posts', new PostResource()) ->canSee(function (MoonShineRequest $request) { return $request->user()->isHavePermission( PostResource::class, 'view' ); }), ]; }