Laravel — ACL — разные роли для разных школ

Я новичок в Laravel и все время искал этот ответ, но не смог найти ничего, что соответствовало бы моим требованиям.

По сути, я хочу, чтобы одному пользователю входа в систему было назначено несколько ролей в зависимости от конкретной школы.

Так, например:

Школа A: Пользователь — ученик Школа B: Пользователь — менеджер Школа C: Пользователь — менеджер и учитель

В идеале в пользовательском интерфейсе пользователь может войти в систему, а затем переключаться между школами, в которых он зарегистрирован. Затем, в зависимости от того, какую школу он выберет, у него, возможно, будет разная роль (Учитель, Ученик, Менеджер).

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


person Edin    schedule 06.12.2018    source источник
comment
Используйте этот github.com/Hesto/multi-auth   -  person Ayaz Shah    schedule 06.12.2018


Ответы (1)


Вы можете добиться этого следующим образом:

  • Ведите учет пользователя с его ролью для соответствующих школ
  • При входе в систему => Выберите школу по умолчанию, сохраните ее в сеансе и назначьте соответствующую роль.
  • Разрешить раскрывающемуся селектору менять школу
  • При изменении значения сеанса обновления и роли

Для роли и разрешения вы можете использовать это: https://github.com/spatie/laravel-permission< /а>

person Vishal Sancheti    schedule 06.12.2018