簡體   English   中英

如何知道用戶是否已登錄?

[英]how can I know if user is logged in

我使用簡單的機制,在我的數據庫登錄后,插入了帶有userId和expiresDate列的新行。 一切都會好的,但我怎么知道用戶是否離開網站,關閉瀏覽器等等?

其次,如果他在網站上查看不同的頁面,我怎樣才能使他的會話更長。 我應該一直在數據庫上進行更新嗎?

什么是常見的aptterns?

這對我來說很流行,因為在liveChat我需要知道哪些用戶在線,以便客戶可以與他們聊天

我想你在想什么

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

使用SQLServer State服務將Session存儲到數據庫中,以幫助您獲取所有在線用戶的詳細信息。

一切都會好的,但我怎么知道用戶是否離開網站,關閉瀏覽器等等?

沒有可靠的方法來了解這一點。 在一段時間不活動后過期。

其次,如果他在網站上查看不同的頁面,我怎樣才能使他的會話更長。 我應該一直在數據庫上進行更新嗎?

是。 您應該為此使用標准會話庫 ,並且應該為您處理它。

這對我來說很流行,因為在liveChat我需要知道哪些用戶在線,以便客戶可以與他們聊天

如果您正在實施聊天系統,請使用心跳系統。 讓客戶端每隔一分鍾使用JS發送一個“我還活着”的消息。

正如David回答的那樣,沒有特定的方法來確定用戶何時離開頁面。 您需要使用AJAX(在聊天系統中)或其他方法來發送服務器中的用戶仍然存在的服務器。 當用戶幾秒鍾沒有響應時,您認為他離開了您的站點並需要在服務器中進行更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM