2012-09-03 87 views
3

我正在開發一個ASP.NET項目,並且正在進行一些工作。 基本上,我有三個不同層次的用戶 1.聯繫 2. DMV 3.來電在ASP.NET中獲取Referer頁面的URL

所有用戶都具有其各自的目錄,並根據他們的權利在那些可以訪問的資源。當有人想登錄到應用程序時,他必須使用根目錄中存在的相同login.aspx頁面,並且一旦登錄,他將被重定向到其各自文件夾的主頁,基於他特權。

在我的應用程序中,有時當會話不情願地關閉時,用戶被重定向到登錄頁面,或者他知道該頁面的完整url,只想使用「Redirect_URL」變量快速登錄並進入該頁面作爲查詢字符串傳遞,他不能這樣做。在這裏,當他登錄後,他被重定向到他的主頁,這將使他再次採取一些行動來達到他所在的頁面。

因此,我需要login.aspx頁面來檢查引用者頁面的URL,使用類似HTTP_REFERER的方式將其存儲在查詢字符串中,例如「Redirect_url」,並且一旦用戶成功登錄,他將被重定向到頁面,出現在「Redirect_url」變量中。

我也尋找Global.asax解決方案給予的地方,但在我的情況下,我認爲上述邏輯將工作最好。

回答

5

兩件事情:

第一:對於一個快速解決方案,只需使用Request.ServerVariables["HTTP_REFERER"]Request.UrlReferrer得到HTTP網址標頭值。第二:使用ASP.NET的內置Forms身份驗證類,他們可以爲您執行重定向(和查詢字符串重定向到)管理。