したがって、単純なリクエスト リスナーを実行できます。
public function onKernelRequest(GetResponseEvent $event)
{
$request = $event->getRequest();
//etc.
そして services.yml で:
listener.my_request_listener:
arguments:
- "@translator"
class: MyBundle\EventListener\RequestListener
tags:
-
event: kernel.request
method: onKernelRequest
name: kernel.event_listener
-
event: kernel.response
method: onKernelResponse
name: kernel.event_listener
私が今やりたいことは、認証が失敗したかどうかを検出することです (Symfony2 の組み込みのセキュリティ コンポーネントを使用して)。セキュリティのセットアップはすべて完了しましたが、セキュリティが失敗したことを検出する必要があります。このようなもの:
public function onKernelAuthFail(GetAuthenticationFailEvent $event) {
//authentication failed, so action can be performed here before it redirects
}
私はこれを見ました:http://api.symfony.com/2.3/Symfony/Component/Security/Http/Firewall/ListenerInterface.htmlと「ファイアウォール」リスナーの話ですが、それを行う方法がわかりません. それは単なるコード行か何かだと思います。