您在timeout屬性中設置的值是設置會話超時值的正確方法之一。
該timeout屬性指定會話在放棄之前可以閒置的分鐘數。此屬性的默認值是20。
通過為此屬性分配值1,您將會話設置為在閒置後1分鐘內放棄。
為了測試這個,創建一個簡單的aspx頁面,並將這些代碼寫入Page_Load事件中,
Response.Write(Session.SessionID);
打開瀏覽器並轉到此頁面。會話ID將被打印。等待一分鐘,然後刷新。會話ID將改變。
現在,如果我的猜測是正確的,那麼您希望在會話超時後立即讓用戶註銷。為此,您可以創建一個登錄頁面來驗證用戶憑證,並創建一個像這樣的會話變量 -
Session["UserId"] = 1;
現在,你將不得不在每個頁面上對這個變量進行檢查 -
if(Session["UserId"] == null)
Response.Redirect("login.aspx");
這是如何工作的一個簡單例子。
但是,為了製作高質量的安全應用程序,請使用ASP.NET提供的角色和成員資格類。他們提供基於表單的身份驗證,這是您正在嘗試使用的正常基於會話的身份驗證更可靠。