ruby gem来检查所有登录我们应用程序的用户



是否有任何方法或gem来识别所有登录我们应用程序的用户。提前谢谢。

首先,您需要使用Cookies Store之外的其他东西作为会话后端。例如,如果您使用ActiveRecord,您应该能够相对轻松地查询所有当前登录的用户。

我不知道有什么宝石可以做这件事,但这听起来也不像你需要的。

您可以通过定义表中的额外字段status(例如users(来实现这一点。

因此,当任何用户获得logged in时,您都必须将该字段设置为"联机"状态。

然后在控制器的创建方法中,您只需执行以下操作:

User.create(:status => "online", #other params go here)

您也可以定义新的注册用户,状态为offline

你可以在用户注册时这样做:

User.new(:status => "offline", #other params go here)

然后要找到登录的用户,您可以这样做:

@online_users = User.where(:status => "online")

更新:

对于那些没有点击注销按钮的用户来说,上述想法是行不通的。

因此,你必须将这个想法与Jugernaut之类的东西结合起来,然后定期发送ping以了解用户是否还在。

这实际上取决于您在登录系统中使用的宝石。

如果您使用的是Authlogic,我记不清为用户模型创建的所有字段,但我相信您可以在不到5-10分钟的时间内完成搜索,比如在名称范围内定义并搜索last_request_at

如果你正在使用Devise,如果你特别想使用宝石,你可以试试这个:https://github.com/ctide/devise_lastseenable

相关内容

最新更新