我有一个简单的类:
class Security implements EventSubscriberInterface
{
public static function getSubscribedEvents()
{
return [
KernelEvents::REQUEST => ['onRequest', 2],
];
}
public function onRequest(RequestEvent $event): ?Response
{
return new Response('Invalid !', 401);
}
}
我检查了,这个onRequest()方法为每个请求执行。如果方法返回一个Response对象,控制器就不应该被执行。用户应该立即看到返回的响应。
我不知道为什么,但它没有发生。你知道为什么和如何解决这个问题吗?
使用
代替返回Response$event->setResponse(new Response('Invalid !', 401));