Symfony - 限制具有特定角色的用户对路由的访问

时间:2013-09-24 10:50:41

标签: php symfony

在security.yml中,我通过定义用户必须具有的最小角色来为用户保护路由。 E.g。

  • {路径:^ / a / clients,角色:MY_CUSTOM_ROLE}

有没有办法否定这种访问权限,只允许通过的人是那些没有这个角色的人?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用symfony表达式语言轻松实现这一点(我认为2.4中的新功能)。 一些例子:

access_control:
    - { path: ^/_internal/secure, allow_if: "'127.0.0.1' == request.getClientIp() or has_role('ROLE_ADMIN')" }

有关详细信息,请访问: https://github.com/symfony/symfony/pull/8913

对于版本2.3.4(当前稳定的版本),您需要手动创建另一个取决于MY_CUSTOM_ROLE的自定义角色。