为什么我的 Rails 应用程序认为我是 CSRF?



strange的定义:我的应用程序的会话模型似乎工作良好。cookie (user。memor_token = securerdom .urlsafe_base64)被存储,则登录将持续。生活是美好的。

然而,当用户编辑他们的个人资料并单击提交时,他们将注销。

这个问题让我认为Rails因为XSRF而结束会话。

但是为什么呢?

我不把所有的代码都贴在这里了,一个链接就可以了:https://github.com/chiperific/arcwmi_reports

帮助!

您的问题在User模型:

before_save :create_remember_token
def create_remember_token
  self.remember_token = SecureRandom.urlsafe_base64
end

这将在保存用户时修改memorer_token——也就是说,在创建用户或更新用户时。当用户更新他/她的配置文件时,memor_token将被更改。这会导致登录系统注意到cookie不再与用户匹配,并将用户注销。

修复用before_create代替before_save

相关内容

  • 没有找到相关文章

最新更新