Я пытаюсь настроить FOSRestBundle для перехвата исключений аутентификации. Моя конфигурация:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
default_engine: php
format_listener:
default_priorities: ['json']
fallback_format: json
prefer_extension: false
access_denied_listener:
json: true
exception:
codes:
Symfony\Component\Security\Core\Exception\AccessDeniedException: 403
twig:
exception_controller: FOS\RestBundle\Controller\ExceptionController::showAction
Эта конфигурация будет перехватывать исключения, когда они возникают в контроллере, но не когда они возникают из компонента безопасности (т. е. в случае сбоя аутентификации пользователя). Что-то не так с моей конфигурацией, или FOSRestBundle просто не предназначен для перехвата исключений в этой точке стека?
Стоит отметить, что я использую собственный провайдер аутентификации, основанный на туториале WSSE:
http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html