Задать вопрос
@ettychel

Реализация групп, ролей и прав пользователей в laravel, есть ли такое решение?

Добрый день!
Подскажите пожалуйста, гуглил, не нашел ничего подобного готового.
Необходимо чтобы у пользователя была группа, тогда он может перейти по определенному роуту.
(Роут пропускает только 1 группу, в свою очередь пользователь может иметь членство в нескольких группах)
Далее необходимо чтобы у пользователя была роль по которой будет определено, что будет отображено на странице. Даже этого уже будет достаточно.
Примерная схема
User - id, name, password
1, Petya, qwe
2, Vasya, ewq
3, Kolya, qaz

Group - user_id, group_id, group_name(для наглядности)
1, 1, Worker
1, 2, Warmir
2, 3, Security
3, 1, Worker

Roles - user_id, role_id, group_id, role_name (для наглядности)
1, 1, 1, Admin
2, 2, 1, Moder
3, 3, 2, User
2, 1, 3, Admin

И получается, что пользователь Petya может перейти на Worker и на Warmir, на Worker он будет Admin, а на Warmir он не имеет роли

Дополню:
Привязка прав к роли не нужна:
User -> hasToMany(Role)
Role -> hasToMany(permission)
Или
User -> hasToMany(Group)
Group -> hasToMany(Role)
НЕОБХОДИМО ВОТ ТАК:
User -> hasToMany(Group)
User ->hasToMany(Role)
Group -> hasToMany(Role)
  • Вопрос задан
  • 3663 просмотра
Подписаться 3 Простой 1 комментарий
Решение пользователя Станислав К ответам на вопрос (5)
mzcoding
@mzcoding
Web-Разработка
Так этож вам надо обычную ACL с ролями, правами и прочими вещами. Я обычно юзаю этот пакет https://github.com/spatie/laravel-permission
Ответ написан