我試圖做到以下,但我不知道如果我正在這個正確的方式。正如標題中提到的,我使用的是asp.net mvc 4.asp.Net MVC Authroize請求在局部視圖和附加頭通過服務器
從一個頁面中,我向服務器發出一個ajax請求。 ajax請求調用跟隨功能。
public ActionResult VideoFeed() { // Create a new 'HttpWebRequest' Object to the mentioned URL. HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://url/cgi/image.php?type=live"); // Digest Authenticate myHttpWebRequest.Credentials = new NetworkCredential(username, password); // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable. HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); // Store headers string authorization = myHttpWebRequest.Headers["Authorization"]; string host = myHttpWebRequest.Headers["Host"]; // Add header Response.AppendHeader("Authorization", authorization); Response.AppendHeader("Host", host); return PartialView("~/Views/RedLight/SystemStatus/_Video.cshtml"); }
在這這個功能我試圖執行使用摘要身份驗證的HttpWebRequest
這似乎驗證罰款,我能夠解析頭。
然後你會注意到我正在試圖將這些頭添加到正在發出此請求的當前頁面。
最後我打電話給局部視圖返回到當前頁面。部分視圖除了具有與上述函數中存在的url相同的src屬性的img標記之外沒有其他任何內容。
這不工作,因爲我希望它會。在查看螢火蟲的網絡流量後,我相信它正在發出請求,僅向該請求添加標頭,調用局部視圖,然後局部視圖再次需要驗證,因此彈出窗口再次彈出用戶名和密碼。
所以,是的。我在查看如何完成這項工作時遇到了一些麻煩,並且非常感謝任何建議。
最佳,
乍得