我们可以在symfony2安全性的访问控制中使用正则表达式吗?
1) /foo/{id} -- [ROLE_ADMIN]
2) /foo/{id}/profile -- [IS_AUTHENTICATED_ANONYMOUSLY]
另一个问题:
如果我从安全模块中删除了access_control,它仍会转到安全模块并尝试Authenticate
中的Security/Authentication/Provider/AuthProvide
。
理想的行为应该是什么?我认为如果access_control
中没有security.yml
,则不应对资源进行身份验证。
我的防火墙配置是:
firewalls:
main:
pattern: ^/
anonymous: true
myapp: true
答案 0 :(得分:13)
是的,你可以使用正则表达式。
但/foo/{id}/profile
与您想要的不符。由于id可能是一个整数,因此您必须使用:
^/foo/[0-9]+/profile$
或
^/foo/[^/]+/profile$