Comment désactiver la protection CSRF dans une application rails?
-
02-07-2019 - |
Question
La prévention CSRF intégrée à Rails pose certains problèmes pour certains tests de charge automatisés que nous effectuons, et je souhaite l’éteindre pour la durée du processus. Comment je fais ça?
La solution
J'aime les questions simples avec des réponses claires.
#I go in application.rb
self.allow_forgery_protection = false
Si vous souhaitez effectuer ceci uniquement à des fins de test, vous pouvez le déplacer dans l'un des fichiers d'environnement (vous allez évidemment toucher Application
plutôt que self
). . Vous pouvez également écrire quelque chose comme:
#I still go in application.rb
self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
Voir ici pour plus de détails. (La merveilleuse tradition de Continuing Rails consistant à documenter les principales fonctionnalités dans des articles de blog datant de 2 ans, qui ont été distillés à partir de journaux de commit.)
Autres conseils
Dans Rails 3, supprimez la commande protect_from_forgery
dans app / controllers / application_controller.rb