意外的角色" @"在位置附近

时间:2017-05-18 09:23:10

标签: php symfony

我想创建白名单ips,可以连接到我的api。 尝试使用Expression Language Component
但是当我尝试将规则添加到security.yml

    - path: ^/v2/api
      allow_if: "request.getClientIp() in @=service('app.white_list_manager').getWhiteList()"

我有一个错误:

  

Lexer.php第90行中的SyntaxError:   意外的角色" @"在@ = service(' app.white_list_manager')中获取表达式request.getClientIp()的位置25周围.getWhiteList()。

我如何解决? Symfony版本3.0.9

1 个答案:

答案 0 :(得分:0)

一种解决方法是:

简单地定义一个侦听kernel.request的侦听器,注入"@app.white_list_manager""@request_stack"

然后检查您所在的路线,并检查白名单管理员中的IP,并采取相应措施。 (重定向,拒绝访问,等等)