2013-05-18 72 views
0

我正在編寫一個Web應用程序,並且希望將其作爲單個用戶應用程序(在其他系統甚至其他瀏覽器中不登錄)。單用戶登錄確定

一個解決方案是在用戶登錄時在我的數據庫中設置一個表字段,並在他退出時重置。

但問題是當一個意外事件發生時(如瀏覽器崩潰,電力消失,網絡probs等)。

實現此目標的最佳方法是什麼?

謝謝

回答

0

有沒有辦法可以做到這一點。

想象一下用戶A和B在一臺執行NAT的路由器後面,這意味着他們在互聯網上都有相同的IP地址。

你如何確定哪個是哪一個沒有在瀏覽器中存儲一些數據?

如果您存儲在瀏覽器中的數據,那麼你就不能擁有一個登錄爲不同的瀏覽器

+0

如何確定存儲數據?我可以使用cookie來檢查我的使用登錄嗎? –

0

你的解決方案是正確的,則應該在dB的申請進行此項操作。 但是對於瀏覽器崩潰或其他事件,您應該設置一個計時器,如果用戶在上述時間內沒有做任何事情,則應該將其註銷。 您可以編寫控制檯應用程序並將其放入服務器的任務計劃程序中,或者如果您使用Linux服務器,則應使用Cron Jobs。 以其他方式,您可以爲Sql Server數據庫編寫SQL作業。

更新: 您可以在數據庫中爲上次操作時間設置一個字段。 當用戶點擊某個鏈接或使用頁面(我的意思是向服務器發送請求的操作)時,應該用當前時間更新該字段。 ,你應該警告用戶,如果沒有做任何事情,例如在30分鐘內,系統登錄帳戶。 Console應用程序,即您放入任務調度程序,檢查當前時間和上次操作時間,如果差異超過30分鐘,則知道用戶必須登錄。

+0

_if用戶在提到的時間內沒有做任何事情= =>如何理解它? _爲Sql Server Database_ =寫一個sql作業爲什麼?完成用戶活動? –

+0

如何通過編碼來完成?你能舉個例子嗎?Thx –