繁体   English   中英

C#基本抢占式身份验证

[英]C# basic pre-emptive authentication

我需要使用需要基本抢先身份验证的Web服务。 我有下面的代码,但响应出现错误-

“远程服务器返回错误:(403)禁止。”

用户凭证正确。 任何想法有什么问题吗?

string url = "MYURL";
HttpWebRequest req = HttpWebRequest.Create(url) as HttpWebRequest;

string user = "USER";
string pwd = "PASSWORD";


string auth = "Basic " + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(user + ":" + pwd));
req.PreAuthenticate = true;
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
req.Headers.Add("Authorization", auth);
WebResponse resp = req.GetResponse();
resp.Close();

req = HttpWebRequest.Create(url) as HttpWebRequest;
req.PreAuthenticate = true;
req.Credentials = new NetworkCredential(user, pwd);
resp.Close();

401是无法通过身份验证时收到的错误代码(即不清楚您是谁 )。 如果您收到403 ,则表示服务器知道您是谁,但仍然认为不应允许您访问。

我想您应该与提供身份证明的人交谈,然后问他。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM