Я ищу лучшее место, чтобы поместить мою логику для проверки, имеет ли зарегистрированный пользователь определенное свойство и проверяет, каков текущий маршрут. Исходя из этого, я хотел бы перенаправить пользователя на конкретный маршрут.Symfony2 проверить зарегистрированное свойство пользователя, текущий маршрут и перенаправить
Мой Пользователь расширяет соната пользователя и имеет дополнительный метод, как:
class User extends BaseUser
{
/**
* @return boolean
*/
public function hasProperty()
{
...
Кроме того, у меня есть маршруты:
route_a:
pattern: /a
route_b:
pattern: /b
и если:
if ($user->hasProperty() && $currentRoute == 'route_a') {
redirectTo('route_b');
}
if (!$user->hasProperty() && $currentRoute != 'route_a') {
redirectTo('route_a');
}
Я пытался сделать что в слушателе для события kernel.controller и в этом слушателе я вызывал что-то вроде метода контроллера init(), и я помещал th по логике в этом методе. Это нормально, но я не могу перенаправить ответ.
Какое место лучше всего подходит для этой логики?