Простой способ создать систему ролей в Laravel?

#php #laravel

#php #laravel

Вопрос:

Я хочу создать 2 типа пользователей: администраторы и пользователи. Я хотел бы иметь возможность настраивать то, что может видеть и делать каждый тип, а также я хотел бы сделать так, чтобы только администратор мог добавлять учетную запись для обычного пользователя.

Я видел, как люди делали это разными способами, но я действительно хочу знать, что, по вашему мнению, было бы лучшим и более простым способом (мне не нужно ничего слишком сложного)

Что я уже сделал, так это сделал это с помощью guards.

Заранее спасибо

Комментарии:

1. Очень простой подход заключается в добавлении role столбца VARCHAR в users таблицу и сохранении роли там.

Ответ №1:

Проверьте https://github.com/spatie/laravel-permission — он предоставляет все виды методов, необходимых вам для ролей и разрешений.

Если вы хотите перейти к глубокой проверке уровня команды, я бы рекомендовал https://github.com/santigarcor/laratrust

Ответ №2:

Вы можете использовать такие пакеты, как entrust и spati, или создать свою собственную ролевую модель, модель разрешений и создать сводную таблицу PermissionRole и RoleUser и, используя отношения «многие ко многим«, вы можете обрабатывать роли и разрешения или определять политики, гейты и промежуточные продукты для обработки ролей и разрешений на основе ваших требований.