私はFrameworkExtraBundle
を使用してAPIを作成しています。ステートレスなwsse認証(http://symfony.com/doc/current/security/custom_authentication_provider.html)を実装しました。つまり、クライアントの要求ごとにSensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener
が実行されます。Symfony - ParamConverterListenerの前にSecurityListenerを取得
私は、SecurityListener
より前に実行されており、間違っていることがわかりました。要求をparamに変換する必要はありません。クライアントがこの呼び出しを行う権限を持っていない場合は、検証してください。
質問:リスナーの順番を変更する機能がありますか?SecurityListener
を最初に呼び出し、次にParamConverterListener
と呼び出してください。
実際には、 '@Security'アノテーションの中のparamコンバーターが扱う属性を参照できるようにする必要があります(GitHubの問題:https://github.com/sensiolabs/SensioFrameworkExtraBundle/issues/465#issuecomment-284667275)。 – xabbuh
これを指摘するための@xabbuhに感謝 - 非常によく理解されています!特定の優先順位がない理由を簡単に説明できますか?呼び出されたときに他の場所に設定されているか、単に注文によって設定されていますか? – LBA
イベントリスナーの登録時に優先度を指定しないと、デフォルトでは「0」とみなされます。リスナーが実行される順序は、登録された順番によって異なります。 – xabbuh