部署后真实性令牌无效

发布于 2024-11-08 06:49:52 字数 138 浏览 3 评论 0原文

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

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

我该怎么做才能阻止他们出现此错误?

Whenever I deploy a new version of an rails app, the authenticity token of the previous release becomes invalid. That's the normal behavior. I'm not looking to change that.

However, any user that still has a page open on the last version, will get an invalid token error if they try to do a post request.

What can I do to stop them from getting this errors?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想挽留 2024-11-15 06:49:52

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

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

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

Where do you store your sessions? Deploying per se will not invalid sessions if the new code can reach the old sessions (e.g Cookie, DB or shared folder based sessions).

Only if you deploy with Capistrano/Webistrano and the sessions are stored in the actual release folder (not the shared folder), then the old sessions will be lost and users need to aquire new auth_token.

So, what you can do is try to preserve session data between deploys by using some kind of shared storage.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文