2

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

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

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

4

1 回答 1

2

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

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

因此,您可以做的是尝试通过使用某种共享存储来保留部署之间的会话数据。

于 2011-05-18T19:48:57.120 回答