同一使用者最新登入踢掉歷史登入 原創

2022-03-22 19:51:04 字數 917 閱讀 7570

這種方案個人覺得有兩點不足之處:

1、頻繁與伺服器互動

2、只要使用者已登入,就不能再次登入了

我們知道在一台機子上登入qq後,再到另外一台機子上同樣也是可以登入的,不過之前登入的會被 踢掉。我覺得這種方案比較人性化。如果在家裡登入qq後,忘了退出,然後在公司登入時提示「此使用者已經登入」,不知你會有何感受?!

解決方法:

2、頁面繼承基類中,判斷客戶端儲存的cookie["useronlineid"] 值是否與服務端一致,如果不一致,則重定向到重複登入頁面。

guid.newguid().tostring();

), userlist);

登入成功時處理

/**/

string

m_struseronlineid 

=guid.newguid().tostring();

dictionary

<

string

, string

>

userlist;if"

onlineuserlist"] 

==null

)else

if(userlist.containskey(userid))

else

"onlineuserlist

", userlist);

webglobal.setcookie(

"useronlineid

", m_struseronlineid);

/******** end ******

*/頁面繼承基類

protected

override

void

onpreinit(eventargs e)}/*

******* end *******/}

}hope this helps

防止同一使用者同時登入

從網上看到的文章。覺得很不錯,可以一試。先複製過來以備後用。要防止同一使用者同時登陸,在這裡使用乙個cache存放已經登陸的使用者名稱,但是還有乙個問題就是要知道使用者是什麼時候離開 系統的呢?這就要定期清除cache中的內容了,也就是設定乙個cache的時間。這個時間可以跟使用者的session值...

C 會員管理系統 開發一(使用者登入)

首先建立資料庫 vip 建立三張表 分別是 vipinformation 會員資訊 log 日誌 vipaccount 賬戶許可權 詳細語句 1 建立資料庫 vip 2create database vip3 onprimary4 5 name vip 6 filename e vip vip.md...

web端同一賬戶同時登陸踢掉前乙個登入的使用者

這邊我們理想是使用localstorage去訪問使用者登入資訊,因為是儲存在客戶端本地,無需訪問伺服器,且可實現永久儲存,節省網路流量 關於cookie和session和storage的詳細解說 而登入的當前時間 具體到秒 userid作為使用者的登入標識 本來想使用mac作為使用者登入的唯一標識,...