0

我有一个在 Ubuntu、Nginx 和 Thin 上运行的 Rails 应用程序。

当我停止 Nginx 并停止瘦服务器时,进行 $ cap deploy 然后重新启动 Thin 和 Nginx,我希望用户必须重新登录。但是,他们没有。

有没有办法强制他们重新登录?

谢谢!

4

1 回答 1

1

用户不必重新登录,因为他们的会话存储在 Rails 不会在部署之间修改的持久会话存储(通常是数据库)中。登录用户的浏览器会在每个 HTTP 请求上发送 cookie,Rails 会根据会话存储对这些 cookie 进行身份验证。要强制用户重新登录,您必须通过删除记录或更改过期时间来修改此会话存储。

假设您使用 ActiveRecord 将会话存储在数据库中,

rake db:sessions:clear

应该通过删除存储会话的表中的所有行来强制使所有现有会话过期。

于 2013-05-08T14:47:45.980 回答