2012-04-27 51 views
0

想要保持網頁登錄。用戶名n登錄所需的密碼。 網頁會話將在10分鐘不活動後自動註銷。C#help !!會話自動註銷後重新登錄

所以想到有沒有在C#中的任何代碼,可以檢測到,可以檢測到目前已經由於不活動註銷,並執行登錄命令?

謝謝:)

+0

我已經創建了一個定時器設置爲計數10分鐘,所以計時器將觸發命令每10分鐘登錄一次網頁。但是,如果在定時器觸發時間內網頁未註銷,則會顯示錯誤。所以想要有一些編碼來檢測會話已經註銷以觸發「登錄」命令而不是依賴定時器 – signinintp 2012-04-27 09:32:09

回答

0

你所描述似乎是期望的行爲,你可以關閉過程中增加會話超時說一個小時,如果這樣做取悅你的用戶超過10 mins.if你這樣做確保應用程序池在20分鐘後不會進入睡眠模式(您可以通過iis管理的默認行爲)。

如果你真的想重新認證你的用戶,你可以檢查你的global.asax(或自定義提供者,如果你有),如果你的用戶註銷,如果不嘗試並重新驗證他。
要做到這一點,你必須有他的用戶名和密碼在你的網站的內存或用戶的cookie。請注意,最後一種方法是非常不安全的,因爲您必須將其密碼存儲在cookie中,如果這樣做,請務必對其進行編碼。
您的全球ASAX會是這個樣子BTW(不可複製pastable,只是給你的想法):

if(!User.Identity.IsAuthenticated){ 
    HttpCookie cookie = Request.Cookies["StoredCredentials"] 
    Membership.ValidateUser(Cookie.Values["userName"], Cookie.Values["userPassword"]) 
}