2

每当我部署新版本的Rails应用时,以前版本的真实性令牌将变为无效。这是正常的行为。我不打算改变这一点。部署后无效的身份验证令牌

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

我该怎么办才能阻止他们获取此错误?

回答

2

你在哪里存储会话?如果新代码可以访问旧会话(例如,Cookie,数据库或基于共享文件夹的会话),则本身部署不会导致无效的会话。

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

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

+0

我正在使用Capistrano,我要仔细观察一下,我会回来更新线程 – deb 2011-05-18 20:23:36

+0

@deb对此有何更新机会? – panzi 2014-12-11 18:57:55