這種方案個人覺得有兩點不足之處:
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作為使用者登入的唯一標識,...