關于如何禁止同一用戶在同一時間在不同機器重復登陸的問題我是這樣想的,如果有不對的地方還請各位指正,大伙共同探討。
主要想在Application級解決問題。不用數據庫的原因是,用數據庫判斷是否登陸非常耗費系統資源,用Application可以解決資源耗費的問題。
總體思路是設定用戶活動時間和超時時間,如果用戶在指定的超時時間內沒有活動的話,就認為該用戶已經離線,或者非正常下線(比如斷電)。當用戶退出瀏覽器,觸發Application_unload事件,可以在global.asa中設置;或者用javascript+ajax判斷并執行退出操作也可以,退出的時候執行Application清空操作,如果是用javascript判斷退出,就要用ajax執行Application清空操作。下面是我的主體思路流圖。