我需要在symfony中的任何其他操作之前将会话客户端数据存储在会话中。当用户未经过身份验证时,我会丢失post客户端数据,因为重定向到登录页面。
如何正确地做到这一点?
谢谢。
答案 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;
}
}