← All plugins
MoonShine Permission
MoonShine Permission - это пакет для системы управления правами доступа в админ-панели MoonShine v2.0+, который позволяет гибко настраивать разрешения для пользователей через встроенные трейты и модели, а также контролировать доступ к различным разделам админки.
MoonShine version
v2,
v3,
v4
MoonShine Permission
Requirements
Support MoonShine versions
| MoonShine |
ChangeLog |
| 2.0+ |
1.0+ |
| 3.0+ |
2.0+ |
| 4.0+ |
3.0+ |
Installation
composer require moonshine/permissions
composer require moonshine/permissions
composer require moonshine/permissions
composer require moonshine/permissions
composer require moonshine/permissions
Run migrations
php artisan migrate
php artisan migrate
php artisan migrate
php artisan migrate
php artisan migrate
Get started
- Change
MoonshineUser model in config/moonshine.php or in MoonShineServiceProvider.
use MoonShine\Permissions\Models\MoonshineUser;
return [
'auth' => [
'providers' => [
'moonshine' => [
'driver' => 'eloquent',
'model' => MoonshineUser::class,
],
],
],
];
use MoonShine\Permissions\Models\MoonshineUser;
return [
// ...
'auth' => [
// ...
'providers' => [
'moonshine' => [
'driver' => 'eloquent',
'model' => MoonshineUser::class,
],
],
],
];
use MoonShine\Permissions\Models\MoonshineUser;
return [
// ...
'auth' => [
// ...
'providers' => [
'moonshine' => [
'driver' => 'eloquent',
'model' => MoonshineUser::class,
],
],
],
];
use MoonShine\Permissions\Models\MoonshineUser;
return [
// ...
'auth' => [
// ...
'providers' => [
'moonshine' => [
'driver' => 'eloquent',
'model' => MoonshineUser::class,
],
],
],
];
use MoonShine\Permissions\Models\MoonshineUser;
return [
// ...
'auth' => [
// ...
'providers' => [
'moonshine' => [
'driver' => 'eloquent',
'model' => MoonshineUser::class,
],
],
],
];
Or add trait HasMoonShinePermissions to user model.
use MoonShine\Permissions\Traits\HasMoonShinePermissions;
class MoonshineUser extends Model
{
use HasMoonShinePermissions;
}
use MoonShine\Permissions\Traits\HasMoonShinePermissions;
class MoonshineUser extends Model
{
use HasMoonShinePermissions;
}
use MoonShine\Permissions\Traits\HasMoonShinePermissions;
class MoonshineUser extends Model
{
use HasMoonShinePermissions;
}
use MoonShine\Permissions\Traits\HasMoonShinePermissions;
class MoonshineUser extends Model
{
use HasMoonShinePermissions;
}
use MoonShine\Permissions\Traits\HasMoonShinePermissions;
class MoonshineUser extends Model
{
use HasMoonShinePermissions;
}
- Add trait
WithPermissions to MoonShineUserResource and change $model.
use MoonShine\Permissions\Traits\WithPermissions;
class MoonShineUserResource extends ModelResource
{
use WithPermissions;
public string $model = MoonShine\Permissions\Models\MoonshineUser::class;
}
use MoonShine\Permissions\Traits\WithPermissions;
class MoonShineUserResource extends ModelResource
{
use WithPermissions;
public string $model = MoonShine\Permissions\Models\MoonshineUser::class;
// ...
}
use MoonShine\Permissions\Traits\WithPermissions;
class MoonShineUserResource extends ModelResource
{
use WithPermissions;
public string $model = MoonShine\Permissions\Models\MoonshineUser::class;
// ...
}
use MoonShine\Permissions\Traits\WithPermissions;
class MoonShineUserResource extends ModelResource
{
use WithPermissions;
public string $model = MoonShine\Permissions\Models\MoonshineUser::class;
// ...
}
use MoonShine\Permissions\Traits\WithPermissions;
class MoonShineUserResource extends ModelResource
{
use WithPermissions;
public string $model = MoonShine\Permissions\Models\MoonshineUser::class;
// ...
}
Example of condition to display in menu
use MoonShine\Support\Enums\Ability;
protected function menu(): array
{
return [
MenuItem::make('Posts', PostResource::class)
->canSee(fn () => auth()->user()->isHavePermission(PostResource::class, Ability::VIEW)),
];
}
use MoonShine\Support\Enums\Ability;
protected function menu(): array
{
return [
MenuItem::make('Posts', PostResource::class)
->canSee(fn () => auth()->user()->isHavePermission(PostResource::class, Ability::VIEW)),
];
}
use MoonShine\Support\Enums\Ability;
protected function menu(): array
{
return [
MenuItem::make('Posts', PostResource::class)
->canSee(fn () => auth()->user()->isHavePermission(PostResource::class, Ability::VIEW)),
];
}
use MoonShine\Support\Enums\Ability;
protected function menu(): array
{
return [
MenuItem::make('Posts', PostResource::class)
->canSee(fn () => auth()->user()->isHavePermission(PostResource::class, Ability::VIEW)),
];
}
use MoonShine\Support\Enums\Ability;
protected function menu(): array
{
return [
MenuItem::make('Posts', PostResource::class)
->canSee(fn () => auth()->user()->isHavePermission(PostResource::class, Ability::VIEW)),
];
}