我試着去請求需要使用HttpWebRequest的 Windows身份驗證的URL,我用HttpWebRequest的DefaultNetworkCredentials給錯誤401
request.Credential = New NetworkCredential("username", "password");
一切工作找,直到我決定不hardcord的用戶名和密碼,開關到
request.Credential = CredentialCache.DefaultNetworkCredentials;
然後我得到了401未經驗證的錯誤。 我查了我的用戶有
WindowsIdentity.GetCurrent();
它正確地返回自己的用戶名,但
CredentialCache.DefaultNetworkCredentials;
返回我空字符串爲用戶名,域......幾乎一切都是空字符串.. 太糟糕HttpWebRequest.Credential預計ICredential意味着我不能設置WindowsIdentity.GetCurrent()它。
有無論如何,我可以通過我目前的登錄用戶到HttpWebRequest.Credential?
是CredentialCache.DefaultNetworkCredentials;正確的方法?或者我只是缺少一些設置?
我已經閱讀了一些像這樣的文章 http://msdn.microsoft.com/en-us/library/ms998351.aspx。
這對我來說太長或太複雜,無法理解或無法正常工作。我是新來的,希望能在這裏得到一些直接的答案。
我知道這不是一個答案,但我有兩個問題:你甚至不需要設置任何憑據?簡單地將包含用戶名和密碼的變量(從哪裏可以獲得哪些值)傳遞給NetworkCredential構造函數而不是將它們硬編碼爲字符串會出現什麼問題? –
因爲我沒有用戶名和密碼,並且用戶對他們提出的每一個請求都不滿意,他們不得不輸入用戶名和密碼,我以前在會話的登錄屏幕上存儲了用戶名和密碼,但我的老闆對此並不滿意,他認爲這對安全來說不是一個好習慣。所以,在這裏,我問這個問題 –
我有這個完全相同的問題......呃 –