2010-01-15 43 views
0

下面是情況 - 這個ASP.NET Web Forms應用程序(它爲所有頁面使用一個主頁面)中的大多數都具有標準的會話超時,但有一些「模式」存儲一個編碼的cookie,將用戶鏈接到他們的帳戶。Web Forms生命週期中的哪些地方可以重新驗證用戶?

我想手動檢查在頁面生命週期早期的cookie,並且如果滿足某些條件,手動重新建立用戶的認證票證/會話

哪裏可以做到這一點?母版頁Page_Init? Global.asax BeginRequest?

回答

1

一個HttpModule將是最好的地方。

BeginRequest可能是正確的地方(在Global.asax中或自定義HTTP模塊),因爲從你的描述它聽起來像它應該AuthenticateRequest之前運行,這是在生命週期中的下一個事件。

如果您等到Page_Init或任何其他與該頁面關聯的事件,生命週期中的驗證步驟已經發生。

+0

BeginRequest是最簡單的地方。 Masterpage.Page_Init不適用於不使用該母版頁的頁面,例如彈出式窗口或AJAX調用。 – AUSteve 2010-01-15 05:07:42

相關問題