2

したがって、単純なリクエスト リスナーを実行できます。

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と「ファイアウォール」リスナーの話ですが、それを行う方法がわかりません. それは単なるコード行か何かだと思います。

4

1 に答える 1