Symfony 安全 access_control 如果没有特定角色则允许
Symfony security access_control allow if NOT having specific role
在 Symfony 5.0 应用程序中,我想为允许用户访问的路由定义一个 access_control
模式
- 有角色ROLE_USER
- 没有角色ROLE_ADMIN
所以我需要类似的东西
- { path: ^/xy, roles: [ROLE_USER, not ROLE_ADMIN] }
在旧的 Symfony 中 3.x 我以前是这样做的:
{ path: ^/xy, allow_if: "has_role('ROLE_USER') and not has_role('ROLE_ADMIN')" }
但这似乎不再有效了。
是
is_granted()
而不是
has_role()
现在。
所以这有效:
- { path: ^/xy, allow_if: "is_granted('ROLE_USER') and not is_granted('ROLE_ADMIN')" }
在 Symfony 5.0 应用程序中,我想为允许用户访问的路由定义一个 access_control
模式
- 有角色ROLE_USER
- 没有角色ROLE_ADMIN
所以我需要类似的东西
- { path: ^/xy, roles: [ROLE_USER, not ROLE_ADMIN] }
在旧的 Symfony 中 3.x 我以前是这样做的:
{ path: ^/xy, allow_if: "has_role('ROLE_USER') and not has_role('ROLE_ADMIN')" }
但这似乎不再有效了。
是
is_granted()
而不是
has_role()
现在。 所以这有效:
- { path: ^/xy, allow_if: "is_granted('ROLE_USER') and not is_granted('ROLE_ADMIN')" }