私はこのパターンを使用して、コントローラのフィルタを実装しています::: CONTROLLER加入者
http://symfony.com/doc/current/event_dispatcher/before_after_filters.html#creating-an-event-listener
しかし、代わりに私が応答を返すしたいHTTP例外をスローします。
どうすればいいですか? SF2で最も良い/最も受け入れられる方法は何ですか? kernel.controllerのこのレベルで
public function onKernelController(FilterControllerEvent $event)
{
if (!$event->isMasterRequest()) {
return;
}
$controller = $event->getController();
// $controller passed can be either a class or a Closure.
// This is not usual in Symfony but it may happen.
// If it is a class, it comes in array format
if (!is_array($controller)) {
return;
}
if ($controller[0] instanceof ResourceServerAuthorizedController) {
$request = $event->getRequest();
$response = $this->resourceServer->authorize($request);
if (!$response->isOk()) {
return $response; // ??? HERE
}
}
}
は、戻りの$ response'が応答である '、理解しないでください。あるいは別のレスポンスを作成する '新しいレスポンスを返す( 'No authorized')' – COil