У меня есть вопрос, на который я действительно не нашел ответа.поставщик собственной аутентификации с анонимным пользователем
Я должен поддерживать приложение Symfony, которое использует пользовательскую аутентификацию и поставщик услуг. Поставщик работает как аспектный, и пользователь может войти в систему правильно.
Однако мне нужно сделать несколько маршрутов доступными для анонимных пользователей. Они также должны быть доступны, когда пользователь не будет полностью аутентифицирован. Так что я пытался настроить конфигурацию access_control в security.yml, чтобы сделать эти адреса доступны:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ~
anonymous: ~
internal_api:
provider: fos_userbundle
check_path: /api/user/login
logout:
path: /api/user/logout
access_control:
- { path: ^/api/init, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/resources, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }
К сожалению, это не работает. Пользователи до сих пор не могут получить доступ к этим маршрутам, если они не полностью аутентифицированы.
Итак, мой вопрос: что необходимо для обеспечения роли IS_AUTHENTICATED_ANONYMOUSLY через собственный поставщик аутентификации? Можно ли это сделать или мне просто нужно настроить настройки security.yml?
С наилучшими пожеланиями
Что такое опция 'internal_api' в вашем основном брандмауэре? – chalasr
Вы проверили заказ своего маршрута? – Twifty