Мы используем функцию ролей Symfony2, чтобы ограничить доступ пользователей к определенным частям нашего приложения. Пользователи могут приобретать годовые подписки, и каждая из наших сущностей Пользователь
имеет множество сущностей Подписка
, у которых есть дата начала и дата окончания.
Есть ли способ динамически добавлять пользователю роль в зависимости от того, есть ли у него «активная» подписка? В рельсах я бы просто позволил модели определять, есть ли у нее необходимые права, но я знаю, что по дизайну объекты symfony2 не должны иметь доступ к Doctrine.
Я знаю, что вы можете получить доступ к ассоциациям сущности из экземпляра сущности, но это будет проходить через все объекты подписки пользователя, и мне это кажется излишне громоздким.