2
在SF2經典應用程序中,如何禁用僅用於開發環境的表單登錄CSRF?禁用CSRF僅適用於Symfony2中的開發環境
config.yml:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
framework:
#esi: ~
translator: { fallback: en_US }
secret: %secret%
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: "%kernel.debug%"
form: true
csrf_protection: true
security.yml:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/user/(login|reset-request|send-email|check-email)$
provider: chain_provider
anonymous: true
main:
pattern: ^/
provider: chain_provider
form_login:
csrf_provider: form.csrf_provider
check_path: my_security_check
login_path: my_security_login
logout:
path: my_security_logout
remember_me:
key: %secret%
name: MYKEY
lifetime: 3600
anonymous: false
security_dev.yml:
firewalls:
main:
form_login:
check_path: my_security_check
login_path: my_security_login
目的是通過重寫與安全配置取消設置csrf_provider
包含security_test
:
config_dev.yml:
imports:
- { resource: config.yml }
- { resource: security_dev.yml }
我不能設置csrf_provider
爲空或假,因爲SF2不會接受這些值。 但是,隨着這個包容,關鍵始終存在。
所以這個問題可能會更一般:我如何完全覆蓋配置數組與另一個yaml包含?
由於通過提前
JM
我真正需要的是禁用CSRF爲我的測試環境,因爲試機的時候是超載了我的一些貝哈特功能失敗,因爲CSRF的,我想在我的問題更簡單)。您的解決方案是禁用整個應用程序的CSRF,而不是唯一的登錄表單,但我會試一試。謝謝。 – jmleroux
你的問題是*在一個SF2的經典應用程序中,如何禁用僅用於開發環境的表單登錄CSRF?*沒有關於登錄表單的信息。 ;) –
也許標題不夠清楚。我想在「防火牆」部分「取消」登錄表單的配置鍵「crsf_provider」 – jmleroux