【问题标题】:Config symfony2 firewall to block all users except guests配置 symfony2 防火墙以阻止除来宾以外的所有用户
【发布时间】:2014-04-04 20:08:22
【问题描述】:

这似乎是一个简单的问题,但到目前为止我找不到任何答案。我想要做的是阻止登录用户到特定路径(登录、注册、...)。从逻辑上讲,来宾(非登录用户)必须允许这些路径。

我的问题是:

  1. 是否可以只在security.yml内部配置?如果是,怎么做?

  2. 如果没有,是否有更方便的方法(例如:我可以在一个地方配置所有此类权限/路径,就像我在 security.yml 中所做的那样)以实现该结果,而无需在每个路径中使用 $securityContext->isGranted('ROLE_USER') ?

【问题讨论】:

    标签: security symfony acl firewall


    【解决方案1】:

    如果您使用的是 symfony 2.4,那么有一种方法可以在 security.yml 文件中指定它。文档Securing by expression

    基本上,在您的access_control 部分中,您可以有一个allow_if 条目,它允许您拥有一个自定义条件表达式。

    你可以使用类似这样的表达式:

    allow_if: "不是 is_authenticated()"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多