C# 如何显示当前登录到站点的用户

C# 如何显示当前登录到站点的用户,c#,asp.net,mysql,C#,Asp.net,Mysql,我有一个有会员登录的网站。我将成员/用户存储在MySQL数据库的用户表中。如何在我的网站上显示包含当前登录的所有用户的表。我想这样做的方式是在数据库中有一个额外的表来存储当前登录的用户,但我不允许这样做。有人知道如何做到这一点吗?任何帮助或链接将不胜感激。提前感谢您。您的成员表中应该有一个类似于上次登录时间的列。然后,要知道哪些用户当前已登录,只需检查该列一段实际时间,如下所示 SELECT * FROM `members` WHERE `last_login_time` > DATE_S

我有一个有会员登录的网站。我将成员/用户存储在MySQL数据库的用户表中。如何在我的网站上显示包含当前登录的所有用户的表。我想这样做的方式是在数据库中有一个额外的表来存储当前登录的用户,但我不允许这样做。有人知道如何做到这一点吗?任何帮助或链接将不胜感激。提前感谢您。

您的成员表中应该有一个类似于
上次登录时间的列。然后,要知道哪些用户当前已登录,只需检查该列一段实际时间,如下所示

SELECT * FROM `members` WHERE `last_login_time` > DATE_SUB(NOW(), INTERVAL 5 MINUTE)

您可以有一个额外的列“Active”,它将在用户每次登录时更新。 当你需要在线用户时,你可以计算一下

在成员表中创建一列,分别为login\u timelogout\u time使用查询显示登录用户


我被告知不允许更改数据库,因为这是我第一次想到要做的,所以我无法将名为lastactivitydate的列添加到users表中。您需要一种定义登录用户的方法。最简单的方法是“在过去n分钟内完成任何活动的用户”。如果由于不允许更改而无法将该逻辑或类似逻辑合并到数据模型中,则无法完成此任务。谁会将“活动”值恢复为非活动?我建议使用“上次活动”列,并将当前时间与该列进行比较。未明确注销且处于非活动状态(例如5分钟)的用户被视为未登录。
SELECT `user_name` From `table_name` WHERE `login_time` > `logout_time`