1
開發環境我如何在Asp.net MVC 4重定向使用IE11
VS 2010, ASP.net MVC 4, using Area.
Windows 7
.net Framework 4.0
客戶端環境
IE11 11.0.9600.16428
Windows 7
.net Framework 4.0
驗證後的用戶信息,我需要redirct主頁。代碼是
public ActionResult Login(string userName, string userPassword)
{
UserDao userDao = new UserDao();
.....
return RedirectToAction("Main", "Index");
}
在IE7-IE10,FF,Chrome中,此代碼是完美的。
但在IE11中,響應不正確,無論用戶名和密碼是否正確,視圖都在登錄頁面中循環。
使用F12,觀看HTTP狀態代碼,狀態代碼爲302,但在其他(FF,鉻),狀態代碼爲200。
URL Protocol Method Result Type Recieved Cost
/Home/Login HTTP POST 302 text/html .70 KB 265 ms
/Index/Main HTTP POST 302 text/html 312 B 125 ms
/Home/Index?ReturnUrl=%2fIndex%2fMain HTTP POST 200 text/html 3.95 KB 78 ms
在第二行,結果應該是200 ,但302.
爲什麼?以及如何解決重定向? (不要使用兼容性視圖)
正如我理解你的問題,在IE11中,登錄頁面被一次又一次地調用。我懷疑這是由於身份驗證不適用於IE11。您的IE11中啓用了cookies嗎?登錄後你能在Fiddler中看到身份驗證Cookie嗎?如果身份驗證失敗,您的應用程序將會一遍又一遍重定向到登錄頁面(如果您在登錄後重定向到受保護的資源)。 – Markus
在調用Login()之後,session有數據,並且下一個請求,asp.net mvc ActionFilter可以獲取session.And cookie正在工作。身份驗證成功,只有頁面沒有重定向到正確的位置。 – Cruil
我與MVC3有同樣的問題。只有一些頁面(用於頁面由相同的控制器提供)導致重定向到登錄頁面,但我們似乎仍然是認證(我們可以導航到需要授權用戶的其他頁面)。 –