Тайм-аут сеанса Symfony2

У меня вопрос о Symfony2, и я надеюсь, что кто-то может мне помочь. Где Symfony проверяет сеанс пользователей и что делать, нет сеанса. Как перенаправление на страницу входа.

Я нашел такой же вопрос, но не совсем то, что я имею в виду.

Почему я хочу это знать? Если есть таймаут сеанса. Я хочу проверить, является ли вызов XmlHttpRequest. Если это так, я хочу вернуть JSON, чтобы javascript мог справиться с этим. Если не сделать это обычным способом.

Благодаря!

вы должны создать слушателя

Регистрация слушателей и подписчиков

config.yml:

services: mycompany.demobundle.listener.request: class: MyCompany\DemoBundle\RequestListener arguments: [@router, @security.context] tags: - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest } 

и тест в RequestListener, если сеанс является таймаутом:

 $inactive = 600; $session_life = time() - $request->getSession()->('timeout'); if($session_life > $inactive && $request->isXmlHttpRequest() ) { $headers['Content-Type'] = 'application/json'; return new Response(json_encode($data), $status, $headers);