如何在symfony中进行身份验证之前在会话中注册帖子数据

时间:2014-07-22 21:17:55

标签: symfony symfony-2.1 symfony-2.3

我需要在symfony中的任何其他操作之前将会话客户端数据存储在会话中。当用户未经过身份验证时,我会丢失post客户端数据,因为重定向到登录页面。

如何正确地做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:1)

我可能会添加异常监听器服务并监视AccessDeniedException例外。

<强> config.yml

services:
  kernel.exception.listener:
    class: Acme\DefaultBundle\EventListener\ExceptionListener
    tags:
      - { name: kernel.event_listener, event: kernel.exception, method: onKernelException }

<强> ExceptionListener.php

// ...
public function onKernelException(GetResponseForExceptionEvent $event)
{
    $exception = $event->getException();

    if ($exception instanceof AuthenticationException || $exception instanceof AccessDeniedException) {
        // Do something with the POST data
        $postData = $event->getRequest()->request;
    }   
}