網站開發。遇到的問題: 一個賬戶 ACCOUNT1 登陸后,在另外一個地方,同一個賬戶ACCOUNT1又登陸,則前一個要被登出。怎么實現這個功能。就是說同一個賬戶只能有一個在線。如果在其他地方,在登錄,則當前賬戶登出。。就像QQ一樣。。 怎么實現呢?
2 回答

MM們
TA貢獻1886條經驗 獲得超2個贊
如果嚴密性要求非常高的話,比如說金融系統或者訂票系統等,可能還需要在用戶表中追加一個時間戳列或者rowversion列,每次登陸后更新完最后登陸時間后,拿到時間戳扔到session中,以后拿時間戳來比較。這樣可保絕對的沒問題。畢竟時間還有個精確度的問題,如果是sql server的話大概是3.3333333...毫秒,在理論上還有多個用戶取到同一時間的可能。

慕少森
TA貢獻2019條經驗 獲得超9個贊
用戶登陸成功后,將登陸時間保存兩份:一份存入數據庫,一份存入登錄用戶的 Session(或 Cookie)。
用戶訪問頁面時(登陸頁面除外),對比這兩個時間,如果不相等(一般是 Session 或 Cookie 中的時間早于 數據庫中的時間),說明已在其它地方登陸。
可如下將當前用戶踢出:
Session.Abandon();
FormsAuthentication.SignOut();
- 2 回答
- 0 關注
- 439 瀏覽
添加回答
舉報
0/150
提交
取消