【问题标题】:Invalid Authencity Token after deploy部署后 Authencity Token 无效
【发布时间】:2011-08-28 06:27:04
【问题描述】:

每当我部署新版本的 Rails 应用程序时,之前版本的真实性令牌都会失效。这是正常的行为。我不想改变这一点。

但是,任何在上一个版本上仍然打开页面的用户,如果他们尝试执行发布请求,将会收到无效令牌错误。

我能做些什么来阻止他们收到这个错误?

【问题讨论】:

    标签: ruby-on-rails ruby usability protect-from-forgery expired-sessions


    【解决方案1】:

    您将会话存储在哪里?如果新代码可以访问旧会话(例如 Cookie、DB 或基于共享文件夹的会话),则部署本身不会使会话无效。

    只有当您使用 Capistrano/Webistrano 部署并且会话存储在实际发布文件夹(而不是共享文件夹)中时,旧会话才会丢失,用户需要获取新的 auth_token。

    因此,您可以尝试使用某种共享存储在部署之间保留会话数据。

    【讨论】:

    • 我用的是Capistrano,我会仔细看看,我会回来更新线程
    猜你喜欢
    • 2015-09-21
    • 2022-09-25
    • 2018-07-12
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 2011-01-09
    • 2017-07-24
    相关资源
    最近更新 更多