我试图跳过密码确认控制器中的伪造保护,但是跳过伪造保护方法似乎没有效果。verify_authenticity_token函数总是被运行。
FYI skip_forgery_protection看起来像:
def skip_forgery_protection(options = {})
skip_before_action :verify_authenticity_token, options
end我的控制器看起来像:
class PinConfirmation < Devise::ConfirmationsController
skip_forgery_protection only: :confirm_pin
def pin
# render pin confirmation page
end
def confirm_pin
# do pin confirmation
end
end由于某种原因,verify_authenticity_token被运行,尽管skip_forgery_protection是在上面定义的。
发布于 2022-11-14 12:33:32
经过进一步的调查,我发现在手动从表单中删除CSRF令牌并使用skip_forgery_protection提交之后,实际上跳过了伪造保护,即使在这两种情况下都运行了verify_authenticity_token。跳转似乎发生在低于此函数的级别。
https://stackoverflow.com/questions/74430593
复制相似问题