Symfony安全占位符

时间:2014-09-10 15:20:06

标签: php security symfony

我试图找出是否有可能在Symfony的security.yml配置中使用占位符。

我有以下security.yml:

order_area: pattern: ^/{_checkout}/ anonymous: ~ provider: ehv_customer security: true context: customer

我正在为多种语言构建结帐流程,但我不想使用一种标准语言来处理路由,例如/ checkout / 1,/ checkout / 2。结帐受Symfony防火墙保护,仅允许客户登录。

有没有办法可以定义占位符来处理每种语言的安全防火墙路由。以下链接是问题的另一个例子,但它对我不起作用:Symfony-2 > login & logout routes with placeholders。我也可以使用前缀,但这是我的最后一个选择。

也许可以通过PHP而不是YML或XML添加防火墙规则?

Symfony版本: 2.5.3

2 个答案:

答案 0 :(得分:0)

您可能想要阅读Symfony Localization组件,该组件使用_locale参数。它可以在security.yml模式中使用,但您必须进行测试才能确定。

答案 1 :(得分:0)

在我的评论中,我终于通过创建处理整个网站的防火墙规则来解决这个问题:

customer_area: pattern: ^/.* anonymous: ~ provider: ehv_customer security: true context: customer

应首先说明可能与此规则冲突的其他防火墙规则。为了处理登录/注销表单并限制网站的某些部分,我使用了一个控制器和security.context服务。