Luk*_*ett 7 .net c# asp.net security
我有一个ASP.NET MVC 4 Web服务.在我的开发箱上,我正在运行IIS Express 7.5,因此我们调用localhost:port.我已将其设置为使用Windows身份验证并关闭匿名.
在我的客户端,如果我设置
HttpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;
Run Code Online (Sandbox Code Playgroud)
有用.但是,如果我将凭据设置为我的其他Windows域帐户,
HttpWebRequest.Credentials = new NetworkCredential("lpuplett", "catsGoW00f", "ntdom"));
Run Code Online (Sandbox Code Playgroud)
然后我得到401 Unauthorized.我误解了什么; 这有用吗?
我已经尝试将凭据添加到CredentialCache对象并在交叉手指时设置缓存,并且我的眼睛紧闭,真的希望.
谢谢,
卢克
解决了
花了3个小时搜索并在发布我自己的问题后,我找到了答案,在这里可靠的SO:
什么都不感谢;-)
来自链接重复问题的评论:
您需要指定身份验证类型.当服务器使用NTLM身份验证向客户端提出质询时,将使用authType ="NTLM"在WebClient.Credentials上调用ICredentials.GetCredential方法.如果您使用WebClient.Credential = new NetworkCredential(...),因为未指定身份验证类型,则客户端将无法正确响应.CredentialCache已实现此功能. - 达林季米特洛夫2009年11月5日14:57
归档时间: |
|
查看次数: |
18440 次 |
最近记录: |