我需要知道是否有用户登录了我的网站。为此,我只有他的会话 ID。
我使用以下方法获得此 id:session->getId();
¿可能吗?
提前谢谢。
在
用户登录时向会话添加一个自定义字段,然后只需检查该字段
鉴于网络本质上是无状态的,很难确定特定用户是否登录到网站。
实现目标的一种方法是保留所有登录用户的运行日志以及上次访问时间。然后,您可以查询该日志,如果用户上次访问时间不到 5 分钟前,您可以说用户已登录到您的网站。这只会告诉您用户是否登录到您的网站,而不是您的网站是否是他们浏览器中的活动选项卡。
获取有关您网站活跃用户的更多"实时"信息的另一种方法是使用 SignalR 之类的东西,它将允许您推送到浏览器。我过去曾使用 SignalR 向浏览器发送系统状态消息,并让它自动更新页面。SignalR 的伟大之处在于它维护了所有连接的客户端的内存中列表。