Здравствуйте. Стоит вопрос о том, как грамотно реализовать блокировку при помощи
RBAC Yii2?
Есть группа "Заблокированные", и собственно у меня возникла проблема с грамотным подходом. На данный момент придумал 3 подхода, 1 и 2 более костыльные, 3-ий кажется более реальным, но к нему вопрос.
Подходы:
1. Реализовать валидатор проверки группы при авторизации. Но стоит вопрос о том, что блокировка будет применяться после повторной авторизации пользователя. Поскольку для сессий используются файлы, не БД - с удалением ее тоже будут трудности.
2. В boostrap-секцию настроек добавить компонент, который будет проверять группу пользователя. С таким подходом, по-идеи, при каждом запросе будет генерироваться +1 запрос к базе данных. Можно, конечно, использовать кэши, но тут опять таки ряд проблем с немгновенной блокировкой, и в любом случае лишняя нагрузка останется.
3. В конфигурации, в
as access
добавить правило для отключения доступа ко всему группе заблокированных. Но встает
вопрос если я в Behaivor's Controller'а буду определять свой набор правил AccessControl - не слетят ли глобальные конфигурации?