2013-10-07 56 views
0

我有一個asp.net應用程序將文件提交到SharePoint文檔庫。 每一次它試圖提交我得到一個獲取401未經授權的文件上傳錯誤

The remote server returned an error: (401) Unauthorized

這裏是C#代碼

    byte[] buffer = new byte[length]; 
        postedFile.InputStream.Read(buffer, 0, length); 


        Uri address = new Uri(url); 
        HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; 
        request.Method = "POST"; 

        request.UseDefaultCredentials = true; 

        request.Accept = "application/json;odata=verbose"; 
        request.Headers.Add("X-RequestDigest", dvalue); 
        request.ContentType = "application/json; charset=utf-8"; 
        request.ContentLength = length; 
        using (Stream postSTream = request.GetRequestStream()) 
        { 
         postSTream.Write(buffer, 0, length); 
        } 
        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
        { 
         StreamReader reader = new StreamReader(response.GetResponseStream()); 
        }      

這工作得很好我的本地機器上,但是當我把它部署到我們的測試環境,它提高了401錯誤。 IIS配置爲匿名身份驗證。我認爲這與文件上傳有關?任何洞察力或想法表示讚賞!

謝謝

+0

您已啓用按預期工作的匿名身份驗證,但您嘗試執行的操作可能未經授權。這可能有所幫助 - http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api – JuStDaN

+0

這是否只涉及網頁API?我沒有真正使用MVC。這只是在點擊按鈕時調用 – prawn

+0

不確定隊友,只是想強調授權和身份驗證是兩個單獨的事情。它可能與文件夾權限有關。檢查http://forums.asp.net/t/1165237.aspx中的答案,因爲它可能有幫助(尤其是子代碼和權限)。 – JuStDaN

回答

0

您應該給應用程序池用戶帳戶寫入文件夾權限。

+0

我試過了。該服務帳戶完全控制文檔庫 – prawn

相關問題