Я использую Symfony 4.1 и хочу перенаправить пользователя на страницу входа, если он не активен (поле в моей БД).
Итак, я создал UserChecker клиента:
class UserChecker implements UserCheckerInterface
{
/**
* @var RouterInterface
*/
private $router;
/**
* UserChecker constructor.
* @param RouterInterface $router
*/
public function __construct(RouterInterface $router)
{
$this->router = $router;
}
/**
* @param UserInterface $user
* @return bool|void
*/
public function checkPreAuth(UserInterface $user)
{
if (! $user instanceof User) {
return;
}
// user is not active
if ($user->getActive() == 0) {
return new RedirectResponse($this->router->generate('login'));
//throw new AccessDeniedHttpException("Account not active");
}
}
....
Но мой пользователь не перенаправлен, исключение работает, но я хочу перенаправить его только с помощью специального сообщения (я буду использовать Flash Session).
Как я могу это сделать?Документы Symfony предоставляют только сообщения об исключениях, но они не являются достаточно гибкими для меня.