我有一個VS 2011解決方案文件,其中包含兩個項目,每個項目都是Web應用程序的文件。一個是舊版本的應用程序,另一個是新版本。當用戶登錄舊版本時,根據其成員身份,他們可能會被重定向到新版本。當他們登陸新網站時,他們不需要通過認證,而是直接進入應用內的頁面。response.redirect從一個asp.net網絡應用程序到另一個
爲了解決這個問題,我使用了舊應用程序中的response.redirect以及querystring來指示用戶已經過驗證。
在舊版本的代碼:
Response.Redirect(sURL + "?Auth=" + sAuth, false);
我檢查了在新的應用程序的login.aspx.cs的Page_Load事件的查詢字符串(類似於「如果查詢字符串身份驗證= true,則繼續下一個頁」)。但是,我仍然可以看到登錄頁面。
代碼對新的應用的Page_Load事件:
if (Page.IsCrossPagePostBack)
{
string sAuthenticate = Request.QueryString.Get("Auth").ToString();
if (sAuthenticate == "1")
{
ByPassAuthentication();
}
}
我怎麼能跳過登錄頁?
首先,查詢字符串不是安全的身份驗證令牌。您是否使用FormsAuthentication功能構建?還是你使用完全自定義的身份驗證? – MatthewMartin 2012-01-05 21:13:36
因此,如果我只需鍵入第二個應用程序url並使用查詢字符串「Auth = 1」,我可以訪問該網站...爲什麼使用身份驗證呢? – Chandu 2012-01-05 21:15:36
@Cybernate這就是我在做什麼 – user1111955 2012-01-05 21:16:45