Khi tôi có một hành động cụ thể mà tôi không muốn kiểm tra mã thông báo xác thực, tôi làm cách nào để yêu cầu Rails bỏ qua kiểm tra nó?Làm cách nào để bỏ qua mã thông báo xác thực cho các tác vụ cụ thể trong Rails?
Trả lời
Đối với những hành động riêng lẻ, bạn có thể làm:
protect_from_forgery :only => [:update, :delete, :create]
#or
protect_from_forgery :except => [:update, :delete, :create]
Đối với toàn bộ một bộ điều khiển, bạn có thể làm:
skip_before_action :verify_authenticity_token
Và Rails 3.x yêu cầu:
skip_before_filter :verify_authenticity_token
thx cho tài liệu này – clyfe
cho bộ điều khiển cụ thể và hành động cụ thể, sử dụng: skip_before_filter: verify_authenticity_token,: only =>: my_unprotected_action. Tôi đến đây để tìm câu trả lời cho: đây có phải là một ý tưởng khủng khiếp không? Tôi đang tìm cách để làm điều này bởi vì một phản ứng ajax ăn phiên của tôi. – Danny
Đối với đường ray 4, hãy sử dụng 'skip_before_action: verify_authenticity_token', xem [Tài liệu API] (http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html) – amoebe
Trong Rails4 bạn sử dụng skip_before_action
với except
hoặc only
.
class UsersController < ApplicationController
skip_before_action :verify_authenticity_token, only: [:create]
skip_before_action :some_custom_action, except: [:new]
def new
# code
end
def create
# code
end
protected
def some_custom_action
# code
end
end
- 1. Tắt mã thông báo xác thực trong Rails 2 cho các dịch vụ web?
- 2. WCF cách chuyển mã thông báo để xác thực?
- 3. Xác thực bảo mật mùa xuân qua mã thông báo
- 4. Rails Tính xác thực mã thông báo CSRF và Devise
- 5. Có cách nào để buộc Checkstyle bỏ qua cảnh báo cụ thể trong mã nguồn không?
- 6. Làm cách nào để bỏ qua việc tải trình khởi tạo Rails khi chạy tác vụ cào?
- 7. Làm cách nào để bỏ qua Xác thực w/find_or_create_by_?
- 8. Nội suy thông số xác thực cụ thể trong thông báo xác thực đậu
- 9. Cách sử dụng xác thực http với mã thông báo omniauth tùy chọn như mã thông báo xác thực
- 10. Làm cách nào để bỏ qua protect_from_forgery trong Rails 3 cho ứng dụng canvas Facebook?
- 11. Xác thực dựa trên mã thông báo trong WCF
- 12. Tôi làm cách nào để chuyển các thông báo xác thực lớp dịch vụ cho người gọi?
- 13. Tạo xác thực mã hóa an toàn mã thông báo
- 14. xác thực dựa trên mã thông báo trong php
- 15. Rails 3 Mã xác thực yêu cầu AJAX bị bỏ qua
- 16. Bỏ qua các cảnh báo cụ thể với PHP_CodeSniffer
- 17. cách xác định thông báo cụ thể trong ios sdk
- 18. Rails ngoại lệ thông báo trong các nhiệm vụ rake
- 19. Thông báo lỗi xác thực loại bỏ
- 20. Mã thông báo xác thực Devise
- 21. Tôi làm cách nào để xác minh mã thông báo truy cập API xác thực của Google?
- 22. Thực hiện mã thông báo xác thực dịch vụ web REST
- 23. Làm cách nào bạn có thể chạy macro Excel thông qua tác vụ lịch biểu
- 24. Rails lãm "CẢNH BÁO: Không thể xác minh tính xác thực CSRF mã thông báo" từ một RestKit POST
- 25. Làm cách nào để nhập tệp CSV thông qua tác vụ cào?
- 26. Cách xác thực mã thông báo sử dụng với Rails, Devise và Backbone.js?
- 27. Làm cho thông báo lỗi xác thực javax cụ thể hơn
- 28. Xác thực Sails.js cho các tác vụ mô hình
- 29. Xác thực mùa xuân, cách để PropertyEditor tạo thông báo lỗi cụ thể
- 30. Làm thế nào để bạn vượt qua bảo mật (Yêu cầu) Mã thông báo cho WIF bật dịch vụ WCF
+1, thật đáng buồn vì bạn đã được bình chọn để trả lời câu hỏi của riêng bạn, điều này hoàn toàn hợp pháp. –
eh. Tôi đặt nó ở đây bởi vì tôi đã tìm kiếm tất cả cho nó và đã có một thời gian khó tìm kiếm một câu trả lời - Tôi nghĩ rằng nó có thể giúp một số folks khác. Cảm ơn bạn đã bỏ phiếu cho tôi. – edebill