Отменить роль пользователя из унаследованной группы

Я использую FOSUserBundle и настраиваю пользовательскую/групповую среду.

Я могу давать роли группам и пользователям.

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

Каждый раз, когда я отменяю выбор в UserAdminView ( SonataUserBundle ), он снова проверяется (наверняка, потому что он получает его из группы)

Любая идея, как этого добиться?

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

Есть возможность проще?


person develth    schedule 10.01.2013    source источник
comment
Создать другую группу с правильными разрешениями? знак равно   -  person Mike    schedule 10.01.2013
comment
К сожалению, это не вариант. Для этого будет слишком много групп, это должно обрабатываться с помощью настроек пользователя.   -  person develth    schedule 10.01.2013


Ответы (1)


Насколько мне известно, то, о чем вы просите, выходит за рамки FOSUserBundle. Независимо от того, когда пользователь входит в систему, он загружает все роли, назначенные конкретному пользователю, и все роли в группах, которым назначен пользователь.

Вы можете попытаться создать настраиваемое поле под сущностью «Пользователь» с именем «denied_roles» или что-то в этом роде. Затем создайте собственный прослушиватель входа в систему (прослушивающий «security.interactive_login»), который удаляет «denied_roles».

person Mike    schedule 10.01.2013