![](/img/trans.png)
[英]How to prevent multiple user login from the same user id in asp.net using cache?
[英]How to prevent user to login from multiple location or from different browser in same pc
我正在創建一個用戶無法嘗試多次登錄的應用程序。 如果特定用戶登錄,我的數據庫標志值將設置為1 ,這意味着沒有其他具有相同用戶名和密碼的成員可以登錄。
如果用戶注銷我的數據庫標志值設置為0 。 這一切都運行良好但現在我有一個不同的問題,即當用戶突然關閉瀏覽器而沒有注銷頁面或會話超時然后自動數據庫標志值應設置為0 。 現在我不知道該怎么做。 請給我任何解決方案。
在您的Global.asax
文件中,您具有Session_OnEnd()
public void Session_OnEnd()
{
// Set flag to 0
}
如果您的sessionState
設置為INPROC
(這是默認設置),這將沒關系,如果您已將其手動調整為StateServer
或SQL Server
則此事件將被忽略。
當瀏覽器關閉窗口時,您可以在JavaScript中使用onbeforeunload
window.onbeforeunload = function(e) {
// call an Ajax function to reset the state.
};
只需在數據庫中創建一個isloggedin列
例如:
USERNAME | PASSWORD | isloggedin | logintimestamp
user | pass | 0 | 3/9/2013 23:59:59
並在用戶登錄時和登錄時將其設置為1.使用ajax更新數據庫中的當前時間...
如果這不能使定時器函數根據時間戳檢查登錄值http://dev.mysql.com/doc/refman/5.1/en/events.html
這是教程: http : //www.sitepoint.com/how-to-create-mysql-events/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.