我有一个简单的 Controller 操作:
/**
* @Route("/abc", name="abc")
*/
public function testAction($abc)
{
return new Response($abc);
}
安全.yml:
security:
..
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/abc$, role: IS_AUTHENTICATED_ANONYMOUSLY}
但是当我转到 url/abc 时,它会将我重定向到登录。我做错了什么?
最佳答案
您应该将 anonymous: true
更改为 anonymous: ~
security:
..
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4
logout: true
anonymous: ~
关于php - symfony 路由重定向到登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33147018/