Расширенное использование ролей в Symfony Security - PullRequest
0 голосов
/ 19 ноября 2018

Я создаю приложение Symfony, где пользователям необходимо войти в систему. Я хочу использовать Symfony Security или FOSUserBundle. Но мне трудно решить, как организовать роли.

Вот почему: есть разные пункты назначения. Пользователи могут быть назначены одному или нескольким адресатам. Пользователям могут быть назначены разные роли в разных местах назначения. Иерархия в разных местах назначения всегда одинакова

Я подумывал о создании ролей, таких как 'ROLE_ {destination} _ {level}'. Но я не хочу повторять определение иерархии каждый раз, когда создается пункт назначения. Создание пункта назначения не должно требовать изменения кода. Есть ли способ прочитать иерархию в целом? Я имею в виду, если мой пользователь имеет роль «ROLE_USA_SUPERADMIN», мне нужно знать, подразумевает ли это «ROLE_USA_ADMIN». Если бы я мог просто проверить иерархию между «ROLE_SUPERADMIN» и «ROLE_ADMIN», я бы смог выяснить.

Я также рассмотрел, как-то иметь разные поля для получения прав доступа. В зависимости от того, какое место назначения установлено в сеансе, когда я запрашиваю 'ROLE_ADMIN', я должен получить разные ответы. Есть идеи, как это сделать?

...