AJAX呼叫退出我的帐户

时间:2013-10-07 03:59:08

标签: ruby-on-rails ajax warden

我有一个Rails 3应用程序,我正在使用Warden进行身份验证。 它工作正常,但当我尝试使用AJAX(POST)访问控制器之一时,应用程序会退出我的帐户并要求我再次登录。

1 个答案:

答案 0 :(得分:0)

这是因为rails CSRF令牌验证。有几种不同的方法可以解决这个问题:

  1. Hacky,脏捷径 - 只需让AJAX调用使用HTTP GET而不是POST。 GET默认情况下不会查找CSRF令牌
  2. 另一个脏快捷方式 - 关闭控制器中此特定操作的CSRF验证

    protect_from_forgery :except => :create
    
  3. 通过AJAX调用正确实施CSRF令牌,有很多指南,例如this onethis one