我有一個asp.net 4.0應用程序使用窗體身份驗證設置爲45分鐘超時。我想在會話過期時將用戶重定向到超時頁面。誰能告訴我如何做到這一點?我正在運行.net 4.0。Global.asax.cs中的Session_End沒有使用表單身份驗證觸發
的web.config有:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx"
defaultUrl="~/Default.aspx" protection="All" timeout="45"
requireSSL="false">
</forms>
</authentication>
的Global.asax.cs文件有:
void Session_End(object sender, EventArgs e)
{
Response.Redirect("~/Timeout.aspx");
}
重定向甚至可以是刷新,或者是某種檢查會話數據的ajax調用。 – 2010-12-15 18:30:13
你說得對。你認爲我可以使用類似jQuery idleTimer(http://paulirish.com/2009/jquery-idletimer-plugin/),將它設置爲45分鐘,就像你使用(window.setTimeout)並重定向一樣?你認爲這可能運作良好?我可以等待45分鐘的空閒時間並強制註銷/會話結束/重定向。 – capdragon 2010-12-15 18:31:56
@ krefftc:我沒有在鏈接到的頁面上閱讀太多內容,因爲它非常生澀且令人討厭的動畫,但我認爲空閒計時器會嘗試查找用戶是否在瀏覽器中處於活動狀態。會話超時並不關心用戶在瀏覽器中做什麼,除非瀏覽器從服務器獲取某些內容,所以它一點也不受影響。因此,'setTimeout'會更好地對應於會話在服務器上超時的時間。 – Guffa 2010-12-15 18:50:52