2014-07-07 111 views
1

我正在使用兩個會話變量sessionLoginsessionPageNameSessionLogin將保存登錄用戶的登錄名,並且sessionPageName將保存當前加載的頁面的名稱。當發生sessionLogin超時時,頁面被重定向到登錄頁面。 sessionPageName的用途是將用戶重定向到頁面用戶在發生sessionLogin超時前發生的最後一次查看。如何保持不同會話變量的超時時間不同

我的問題是,如果sessionLogin到期,sessionPageName也會過期,因爲會話超時間隔是20分鐘後?如何將sessionPageName的超時期限提高到30分鐘,並將sessionLogin的使用期限設置爲默認值?

或者,有沒有辦法在asp.net C#中將用戶帶到他們在sessionLogin過期之前查看的最後一個頁面,導致直接在我的代碼中登錄頁面?

+0

http://stackoverflow.com/questions/6069502/set-different-timeout-for-different-session- asp-net中的變量 – CodingDefined

+1

您應該瞭解Forms Authentication如何在ASP.NET中工作。這聽起來像你試圖重新發明車輪。 –

回答

1

如果正在使用​​您正在尋找ReturnUrl

FormsAuthentication.RedirectFromLoginPage 

(它使用非常RETURNURL查詢字符串參數)

FormAuthentication MSDN鏈接

+0

感謝您的評論。我按你的方式做了。我有一個使用窗體的母版頁,而formauthentication正在其contentplaceholder中使用。但是當會話過期並且用戶被重定向到登錄頁面之後,在用戶登錄之後,用戶被顯示主頁在他被重定向到登錄頁面之前已經瀏覽過的頁面。我錯過了什麼? –

+0

你使用formauthentication? –

+0

我在會話中保持登錄用戶名和密碼,並使用FormsAuthentication.RedirectFromLoginPage(loginName,true);重定向到主頁。現在,隨着會話過期,用戶被重定向到登錄頁面。在這裏,當用戶輸入登錄名和密碼時,他又被導向主頁,但我希望他直接訪問他上次查看的頁面。我的web.config標記是::

相關問題