12
A
回答
11
這真的取決於你在尋找所需的功能。我假設你正在使用FormsAuthentication。
有你需要關注的兩個獨立的東西:會議和FormsAuthentication餅乾。除非我錯了,否則這兩者都有單獨的超時。
如果您遇到的問題是,會話超時,但用戶仍然通過驗證,你可以嘗試以下的組合:
1:確保身份驗證Cookie具有相同的超時值作爲會話:
<authentication mode="Forms"><forms ... timeout="20" ... ><authentication>
<sessionState ... timeout="20" ... />
2:在你的Page_Load事件中,檢查是否會話超時:
if (context.Session != null && Context.Session.IsNewSession == true &&
Page.Request.Headers["Cookie"] != null &&
Page.Request.Headers["Cookie"].IndexOf("ASP.NET_SessionId") >= 0)
{
// session has timed out, log out the user
if (Page.Request.IsAuthenticated)
{
FormsAuthentication.SignOut();
}
// redirect to timeout page
Page.Response.Redirect("/Timeout.aspx");
}
(見http://www.eggheadcafe.com/articles/20051228.asp以獲取關於檢測會話超時的信息)
如果您想要更愉快的用戶體驗,可以使用javascript在X分鐘後啓動某種模式UI彈出窗口。這個彈出窗口只允許用戶啓動一個按鈕點擊,這將觸發服務器上的AJAX回發,從而擴展其身份驗證和會話cookie,而不必重新加載頁面。我從來沒有實現過,但看看, this guy made an ASP.NET AJAX control!
+0
Thanks Pandincus – zSynopsis 2010-12-13 23:32:02
1
如果您使用的是.NET成員資格提供,只需設置超時設定在web.config http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=VS.100).aspx
相關問題
- 1. 當會話超時時註銷用戶
- 2. 當會話超時時註銷用戶
- 3. ASP.NET:如何在用戶單擊註銷時結束會話?
- 4. 會話如何結束 - session.abandon或超時
- 5. 會話超時註銷用戶
- 6. 用戶會話超時強制註銷
- 7. 如何使用Twitter Api註銷或結束用戶會話?
- 8. Membershipprovider:會話結束時自動註銷
- 9. 如何用戶不活動,註銷或會話結束
- 10. 如何在用戶登錄時啓動會話並在用戶註銷時結束會話
- 11. PHP會話超時/註銷
- 12. 如何結束用戶會話並確保用戶已註銷?
- 13. 如何在註銷時結束所有會話
- 14. 在會話到期時註銷用戶
- 15. 當會話從後端超時時如何從前端註銷?
- 16. 如何在註銷時清除會話
- 17. 插入用戶註銷信息會話超時後?
- 18. 用戶註銷後,會話超時再次登錄asp
- 19. django cache.clear()結束會話(註銷)
- 20. 註銷或結束會話使用itsdangerous簽署
- 21. 如何在Rails/w中註銷時註銷特定會話?
- 22. 如何使用目標c註銷Facebook(會話結束)Facebook?
- 23. Cakephp 3 - 在會話超時時強制註銷
- 24. 註銷時保存會話
- 25. 會話過期時,如何強制用戶註銷?
- 26. 如何在用戶不活動時結束會話
- 27. 用戶登錄會話超時註銷OOP登錄/註冊系統
- 28. 春季會話銷燬事件區分會話超時和註銷
- 29. 註銷時未銷燬會話
- 30. 銷燬會話,同時註銷
您的意思是簡單地讓一個用戶成爲未經過身份驗證的用戶,或者實際上將用戶重定向到某些「嘿,你已經超時了!」他們等了很長時間並且他們的會話已經過期之後的頁面? – Pandincus 2010-12-10 22:48:41
兩者如果可能? – zSynopsis 2010-12-10 23:14:25
當會話結束時,他們所做的下一個請求將是未驗證的。在這種情況下,您的頁面可以在加載新頁面時檢查該頁面。要重定向它們,如果它們在同一頁面上的時間太長,則需要將JavaScript寫入具有等於會話超時值的倒數計時器的頁面。當計時器達到零重定向時,因爲會話無效。 (有點 - 有一點需要注意的是,如果他們在另一個選項卡中瀏覽您的網站 - 這將使會話保持活躍狀態,而第一個標籤javascript仍會倒數) – Prescott 2010-12-11 03:13:41