Symfony 2 добавляет роли в прослушиватель событий перед проверкой брандмауэра

У меня есть приложение, в котором пользователь может принадлежать многим компаниям. Пользователь получает доступ к корпоративному порталу через compnaysubdomain.example.com). Когда пользователь получает доступ к корпоративному порталу, я должен обновить роли, которые он имеет для этой компании (путем проверки поддомена и базы данных). Для этого я создал прослушиватель событий запроса, который анализирует поддомен, запрашивает базу данных и добавляет пользователю новые роли. Проблема в том, что мне нужно иметь доступ к контексту безопасности, чтобы я мог обновлять роли пользователей, поэтому мой приоритет слушателя должен быть меньше, чем приоритет брандмауэра. Но если прослушиватель брандмауэра выполняется первым, он немедленно проверяет роли пользователей, которые еще не обновлены, в зависимости от компании.

Какие-либо предложения?. Может быть, мне нужно реализовать Custom Firewall Listener или что-то в этом роде. Я не хочу усложнять.

Спасибо.


person brpaz    schedule 13.08.2013    source источник


Ответы (1)


Ok. Для этого я решил создать прослушиватель брандмауэра. Я следовал руководству http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html, но создал только LIstener брандмауэра. Токен и провайдер, который я использую, тот, который я уже использовал.

person brpaz    schedule 13.08.2013