我怎么知道用户是否已登录

how can I know if user is logged in

本文关键字:登录 是否 用户 我怎么知道      更新时间:2023-09-26

我使用简单的机制,其中登录我的数据库后,插入了带有userId和expiresDate列的新行。一切都会好的,但我怎么知道用户是否离开网站,关闭浏览器等?

其次,如果他正在查看网站上的不同页面,我如何使他的会话更长。我应该一直对数据库进行更新吗?

什么是普通阿普特恩?

这对我来说很重要,因为在实时聊天中,我需要知道哪些用户在线,以便客户可以与他们聊天

使用 SQLServer 状态服务将会话存储到数据库中,这将帮助您获取所有联机用户的详细信息。

我认为您正在寻找的是

if(HttpContext.Current.User.Identity.IsAuthenticated)

一切都会好的,但我怎么知道用户是否离开网站,关闭浏览器等?

没有可靠的方法来知道这一点。在给定的不活动时间后使会话过期。

其次,如果他正在查看网站上的不同页面,我如何使他的会话更长。我应该一直对数据库进行更新吗?

是的。您应该为此使用标准会话库,这应该为您处理它。

这对我来说很重要,因为在实时聊天中,我需要知道哪些用户在线,以便客户可以与他们聊天

如果要实现聊天系统,请使用检测信号系统。让客户端使用 JS 每隔一分钟左右发送一条"我还活着"的消息。

正如David所回答的那样,没有特定的方法来识别用户何时离开页面。您需要使用 AJAX(在您的聊天系统中)或其他方法来发送该用户仍在您的服务器中的服务器。当用户在几个时间间隔内没有响应时,您认为他离开了您的网站并需要在服务器中更新。