2

我创建了一个自定义 Symfony 执行过滤器,通过扩展 sfFilter 类来管理 POST 请求的完整性。过滤器工作正常,但有时我需要禁用它,事实是在 filters.yml 文件中的过滤器定义中指定的参数条件(见下文)不起作用。

# filters.yml

rendering: ~
security:  ~
SSL:
  class: SSLFilter
  condition: %APP_ENABLE_SSLFILTER%

integrity:
  class:  IntegrityFilter
  param:
    integrity_header:   x-integrity-cnonce
    condition:  %APP_ENABLE_INTEGRITYCHECK%

cache:     ~
execution: ~

如您所见,IntegrityFilter 的条件要求 app.yml 文件中的配置条目 ENABLE_INTEGRITYCHECK 为 ON 才能执行过滤器。

# app.yml
all:
  sf_guard_plugin:
    algorithm_callable:   md5
    success_signout_url:  /
    success_signin_url:   /
  enable_sslfilter: off
  # Enables de IntegrityFilter check
  enable_integritycheck: off

好吧,事情是它不起作用,因为我使用脚本来启用/禁用某些设置以及其他任务,并且没有禁用它。有趣的是,启用/禁用两个 YAML 文件中显示的 SSL 过滤器都可以正常工作。有任何想法吗...?

4

0 回答 0