肯纳.response函数返回一个response对象,但是控制器仍然被执行 &



我有一个简单的类:

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));

相关内容

最新更新