2011-10-12 55 views
2

有效存储用户使用Devise登录的总时间的任何建议?除了跟踪登录数量之外,它看起来并不像Devise有一个完成这个过程的现有流程。Rails/Devise:确定用户登录的总时间

谢谢!

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable, :timeoutable 

end 

回答

3

需要回答的问题是“您怎么知道用户何时退出?”。

在简单情况下,用户单击注销链接。然后,您可以在销毁用户会话期间获取该事件的时间戳。将可跟踪时间戳与用户会话销毁时间戳进行简单比较将为您提供总时间。

但是,如果用户只是关闭与您的应用程序运行的选项卡/窗口/浏览器会发生什么?该用户是否自动注销?有没有一个cookie设置让用户无需登录就能返回?如果是这样,在应用中重新打开页面意味着用户在3天后仍然登录?

一旦你想出这些问题的答案,我认为一种方法会让你自己看到。

希望这会有所帮助。