Авторизация
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
Мы не отходим от концепции Laravel и с помощью Laravel policy можем работать с правами доступа в рамках админ-панели MoonShine
В ресурс-контроллерах MoonShine каждый метод будет проверяться на наличие прав. Если возникают трудности, то ознакомьтесь с официально документацией Laravel
По умолчанию для ресурсов проверка прав отключена. Чтобы включить, необходимо добавить свойство
$withPolicy
Доступные методы Policy:
- viewAny
- view
- create
- update
- delete
- massDelete
- restore
- forceDelete
namespace App\Policies; use Illuminate\Auth\Access\HandlesAuthorization;use MoonShine\Models\MoonshineUser;use App\Models\Post; class PostPolicy{ use HandlesAuthorization; public function viewAny(MoonshineUser $user) { // } public function view(MoonshineUser $user, Post $model) { // } public function create(MoonshineUser $user) { // } public function update(MoonshineUser $user, Post $model) { // } public function delete(MoonshineUser $user, Post $model) { // } public function massDelete(MoonshineUser $user) { // } public function restore(MoonshineUser $user, Post $model) { // } public function forceDelete(MoonshineUser $user, Post $model) { // }}
namespace MoonShine\Resources; use MoonShine\Models\MoonshineUser; class PostResource extends Resource{//... public static bool $withPolicy = true; //...}