Что вам нужно, это обработчик успеха выхода из системы.
Определить обработчик выхода из системы в security.yml:
security:
firewalls:
admin_area:
logout:
success_handler: acme.security.logout_success_handler
И обработчик выглядит следующим образом:
namespace Acme\Bundle\SecurityBundle\Handler;
use Symfony\Component\Security\Http\Logout\LogoutSuccessHandlerInterface;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Bundle\FrameworkBundle\Routing\Router;
use Symfony\Component\DependencyInjection\ContainerAware;
class LogoutSuccessHandler extends ContainerAware implements LogoutSuccessHandlerInterface
{
public function onLogoutSuccess(Request $request)
{
// dynamic route logic
return new RedirectResponse($this->container->get('router')->generate('dynamic_route_name'));
}
}
Btw ... Пожалуйста, удалите ненужный импорт и надежда, что это помогает! : D
Вот services.yml
services:
acme.security.logout_success_handler:
class: Acme\Bundle\SecurityBundle\Handler\LogoutSuccessHandler
calls:
- [ setContainer, [ @service_container ] ]
при выходе из него правильно перенаправляет на главную страницу, так как в действии выхода из системы он установлен для перенаправления на дому действия. поэтому действие выхода из системы перенаправляет пользователя на текущее действие. – sas