我试图找出是否有可能在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
答案 0 :(得分:0)
您可能想要阅读Symfony Localization组件,该组件使用_locale
参数。它可以在security.yml模式中使用,但您必须进行测试才能确定。
答案 1 :(得分:0)
在我的评论中,我终于通过创建处理整个网站的防火墙规则来解决这个问题:
customer_area:
pattern: ^/.*
anonymous: ~
provider: ehv_customer
security: true
context: customer
应首先说明可能与此规则冲突的其他防火墙规则。为了处理登录/注销表单并限制网站的某些部分,我使用了一个控制器和security.context服务。