У меня есть вопрос, на который я так и не нашел ответа.
Мне нужно поддерживать приложение Symfony, которое использует пользовательскую аутентификацию и поставщика пользователей. Провайдер работает как аспект, и пользователь может правильно войти в систему.
Однако мне нужно сделать несколько маршрутов доступными для анонимных пользователей. Они также должны быть доступны, когда пользователь не полностью аутентифицирован. Поэтому я попытался настроить конфигурацию access_control в security.yml, чтобы сделать эти URL-адреса доступными:
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
в вашемmain
брандмауэре? - person chalasr   schedule 05.02.2016