3

我已经在我的应用程序中实现了 Authlogic,但我对 table 的感觉感到困惑sessions

对于两种控制器型号,我都有UsersController, 。UserSessionsController在数据库中——表users和表sessions

桌子sessions一直是空的。我尝试将此表重命名为user_sessions,但情况相同 - 仍然是空表(如果我登录到我的应用程序,则表session/中没有添加一行user_session)。

但是我的应用程序运行良好,登录和注销运行良好,相同的注册,如果我测试logged_in_timeout- 这运行良好。

那么,我对会议缺少什么?这让我有点困惑,这个表有什么意义,如果在我的情况下没有保存行并且一切似乎都工作正常。

谢谢

4

2 回答 2

3

您实际上并不需要用于会话的数据库表,除非您希望将它们持久化以处理故障转移和应用程序重新启动等问题。UserSession模型可以如下声明,不需要扩展AR。

class UserSession < Authlogic::Session::Base
  ...
end
于 2012-07-12T16:58:18.703 回答
1

Steakchaser 关于不需要在数据库中存储会话是正确的。但是,为了更直接地回答您的问题,它不起作用的原因是config.session_storeinconfig/initializers/session_store.rb默认为:cookie_store; 如果将其设置为:active_record_store,您的会话表将按预期填充。

可以在此处找到有关如何为会话实施 ActiveRecord 的更多说明。

于 2014-03-04T14:41:25.717 回答