Как отключить защиту CSRF в приложении рельсов?
-
02-07-2019 - |
Вопрос
Предотвращение CSRF, встроенное в Rails, вызывает некоторые проблемы при автоматическом нагрузочном тестировании, которое мы проводим, и я хочу отключить его на время процесса.Как мне это сделать?
Решение
Я люблю простые вопросы с четкими ответами.
#I go in application.rb
self.allow_forgery_protection = false
Если вы хотите сделать это только для тестирования, вы можете переместить это в один из файлов среды (очевидно, вы будете касаться Application
тогда, а не self
).Вы также можете написать что-то вроде:
#I still go in application.rb
self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
Видеть здесь для получения подробной информации.(Продолжение замечательной традиции Rails — документировать основные функции в постах блога двухлетней давности, которые были извлечены из журналов коммитов.)
Другие советы
В Rails 3 удалите protect_from_forgery
командовать app/controllers/application_controller.rb