Как лучше всего дать нескольким пользователям возможность читать статью с помощью laravel?
Я использую массив в базе данных, содержащий все разрешения (на основе user_id), например:
id | user_id_permission
1 | {1,37,44}
2 | {34}
Затем я проверяю, находится ли текущий идентификатор пользователя в массиве в ArticleController.php в функции показать (ID статьи $). Если это не так, он перенаправляется на панель управления.
Мне было интересно, есть ли другой способ спроектировать это, используя ворота Laravel или какой-либо тип аутентификации.
Спасибо!






Это против нормализации БД. Я бы не стал использовать такое поле в вашей таблице, но использовал бы таблицу отношений, которая связывает N статей с N пользователями.
article_user_access
id_article | id_user
------------+--------
1 | 1
1 | 37
1 | 44
2 | 34
Так будет проще выполнять запросы для получения списка пользователей, имеющих доступ к статье X, или статей, к которым имеет доступ пользователь Y.
Будет проще поддерживать, о добавлении и удалении прав доступа
Большое спасибо, Сид, за то, что открыл мне глаза на такой подход. Намного лучше!