2012-03-08 99 views
0

我使用VS2010,C#開發我的ASP.NET web應用,我的用戶可以用自己的用戶名/密碼登錄,然後他們可以查看網站,我想限制用戶用戶不能同時使用一個用戶名登錄,即當用戶使用他的用戶名登錄時,他的用戶名不能再登錄,直到我們註銷爲止,我爲每個用戶在登錄時創建一個會話(session [「userid」= user_id_obtained_from_database),當用戶登錄時,我將檢查所有活動會話,如果沒有活動會話[「userid」],用戶登錄時我將只允許我的用戶登錄關閉瀏覽器後的ASP.NET會話狀態

我在註銷時刪除所有用戶會話,但是當用戶突然關閉他的瀏覽器頁面時會發生什麼?在這種情況下,我如何銷燬用戶會話ID,以便他可以再次登錄?用戶會話會保持打開狀態,直到會話過期?所以如果用戶關閉瀏覽器頁面(而不是註銷),他不能再次登錄,直到他的會話在服務器上到期爲止?

請幫我 感謝

回答

3

您可以觸發對身體onbeforeunload事件AJAX調用到註冊頁面的退出。如果您在沒有進一步的頁面請求的情況下獲得其中一個,那麼該用戶已離開您的網站。

+0

感謝朋友,我應該在哪裏舉辦這個活動?在每個頁面或global.asax上?有沒有更多的樣本描述它? – 2012-03-08 09:21:38

+0

您需要將代碼在HTML中調用AJAX:''。你應該讓AJAX調用一個'ashx'處理器來處理通過的會話信息。 – cjk 2012-03-08 11:01:09