как заблокировать пользователя без разрешения на ресурс в laravel?

Я строю API, и я действительно застрял здесь, пытаясь выяснить, как правильно блокировать пользователей без разрешений на данный ресурс, я уже создал таблицу пользователей, ролей, role_user, permissions и role_permissions. когда я искал в Google, я увидел несколько способов сделать это, используя Gate внутри AuthServiceProviderили используя промежуточное ПО. мой вопрос: как лучше всего это сделать в laravel с API? в моей компании пользователи могут иметь одну или несколько ролей, и у пользователей также может быть индивидуальное разрешение. Кроме того, пробовал некоторые пакеты ACL, но у всех них есть некоторые специфические проблемы, такие как: некоторые методы устарели в laravel 5.5, или в документах не ясно, как использовать класс. попробовал сделать логику тоже сам, но я застрял в вопросе о том, как заблокировать доступ к ресурсу, если пользователь не дал разрешения.

0

Решение

Laravel сам блокирует доступ к любому ресурсу из общей папки (Storage Folder).
В дополнение к этому вы можете создать промежуточное программное обеспечение, которое проверяет пользователя, запрашивающего маршрут, и решает, возвращать или нет ресурс.

0

Другие решения

Вы можете использовать промежуточное программное обеспечение для этой цели. Проверять, выписываться https://laravel.com/docs/5.5/middleware для дополнительной информации

После того, как вы создали промежуточное программное обеспечение, вы можете сделать:

 Route::group(['middleware'=>'yournewmiddlewarename'], function() {
Route::resource("url", ...);
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector