Symfony2 и анонимный доступ к определенному маршруту
В этой конфигурации:
firewalls:
login:
pattern: ^/login$
anonymous: ~
security: false
foo:
pattern: ^/foo$
anonymous: ~
security: false
secured_area:
pattern: ^/
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
target: /
access_control:
- { path: ^/, roles: ROLE_ADMIN }
- { path: ^/foo, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Я хочу, чтобы сделать /foo
анонимно доступным. Однако, когда я пытаюсь пойти туда даже после очистки кеша, он не позволит мне и перенаправляется на экран входа в систему.
Как сделать один маршрут анонимно доступным, сохраняя при этом оставшуюся часть системы?
Ответы
Ответ 1
Заменить
- { path: ^/foo, roles: IS_ANONYMOUS }
с
- { path: ^/foo, roles: IS_AUTHENTICATED_ANONYMOUSLY }
UPDATE
Кроме того, я считаю, вам придется добавить
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
для правильной работы аутентификации.
Подробнее об этом читайте Избегайте общих ошибок здесь.