使用此配置:
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
。然而,当我试图去那里时,即使在清除缓存后,它也不允许我去,并重定向到登录屏幕。
如何使一条路由可以匿名访问,同时保留系统的其余部分?
更换
- { path: ^/foo, roles: IS_ANONYMOUS }
带有
- { path: ^/foo, roles: IS_AUTHENTICATED_ANONYMOUSLY }
更新
此外,我相信,你将不得不添加
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
以便身份验证正常工作。
有关更多信息,请查看避免常见陷阱部分。