Мы имеем следующие параметры безопасности для нашего symfony3 проекта:контроля доступа, кажется, игнорируется, если маршрут не найден в Symfony
firewalls:
myfirewall:
pattern: ^/myapi
stateless: true
http_basic: ~
anonymous: false
access_control:
- { path: ^/myapi, ips: ['192.168.0.155'], roles: ROLE_USER }
- { path: ^/myapi, roles: ROLE_NO_ACCESS }
Кроме того, что есть в памяти поставщика. Это прекрасно работает при ударах маршрутов. Вызов/myapi/resource/123 защищен. Но, к сожалению,/myapi/res нет. Запрос к этому URI приводит к 404.
Таким образом, плохие парни могут определить, существуют ли ресурсы или нет.
Кто-нибудь знает, почему это происходит/что не так? Я немного невежественный.
Спасибо!
Заменив класс «security.firewall» на использование пропусков компилятора, мы смогли изменить приоритет подписанных событий, поэтому прослушиватель брандмауэра вызывается перед слушателем роутера. http://symfony.com/doc/current/cookbook/bundles/override.html Работы для нас до сих пор .. – t11n