每当我部署新版本的 Rails 应用程序时,先前版本的真实性 token 就会失效。这是正常行为。我不想改变这一点。
但是,任何仍然在上一个版本上打开页面的用户,如果他们尝试执行发布请求,将收到无效 token 错误。
我能做些什么来阻止他们得到这个错误?
最佳答案
您将 session 存储在哪里?如果新代码可以到达旧 session (例如基于 Cookie、数据库或共享文件夹的 session ),则部署本身不会使 session 无效。
只有当您使用 Capistrano/Webistrano 部署并且 session 存储在实际发布文件夹(而不是共享文件夹)中时,旧 session 才会丢失并且用户需要获取新的 auth_token。
因此,您可以尝试使用某种共享存储来保留部署之间的 session 数据。
关于ruby-on-rails - 部署后无效的真实性 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048709/