В laravel, как предотвратить доступ TeamMember (пользователя) к указанным маршрутам c? - PullRequest
0 голосов
/ 12 июля 2020

Я создаю Rest API для мобильного приложения, где у меня есть следующие таблицы:

  1. Таблица пользователей (с данными пользователя)
  2. Таблица команды (связанная с пользователем через столбец user_id)
  3. Таблица ролей (список ролей)
  4. разрешение (список разрешений)
  5. role_team_user (сводная таблица для связи пользователя с определенной c командой с определенной c ролью)

так, например, пользователь (john) в команде (team_id: 1) имеет роль (Team leader), и тот же пользователь (john) может принадлежать другая команда (team_id: 3) с ролью (помощник)

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

то, что я хочу сделать, - это использовать промежуточное ПО, которое позволит Джону иметь все разрешения в проектах первой группы (в качестве руководителя группы), но не дать ему получить все разрешения, кроме (редактирование - по примеру).

* 10 20 * как это сделать?

1 Ответ

0 голосов
/ 12 июля 2020

Это должно быть сделано с ролями, я рекомендую вам проверить следующий пакет (spatie / laravel -permission) для этого.

Для вашего проекта вам нужно будет заполняя базу данных ролями и разрешениями, затем вы устанавливаете sh пользователя в качестве суперадминистратора и определяете его, как говорится в документации, чтобы позже назначить роли каждому сотруднику.

...