繁体   English   中英

C#SSL基本访问认证

[英]C# SSL Basic Access Authentication

我想要求第三方提交报告,他们需要通过POST进行“基本访问身份验证”:

 Your client application must use Basic Access Authentication to send the user name and password. 

有人能指出我正确的方向吗?

编辑:我确实看到了这篇文章,但有两个答案,我不确定那是我需要做什么或哪一个是首选方法。

假设您使用WebRequest,请将CredentialCache附加到您的请求:

        NetworkCredential nc = new NetworkCredential("user", "password");
        CredentialCache cc = new CredentialCache();
        cc.Add("www.site.com", 443, "Basic", nc);


        WebRequest request = WebRequest.Create("https://www.site.com");
        request.Credentials = cc;
        request.PreAuthenticate = true;
        request.Method = "POST";

        // fill in other request properties here, like content

        WebResponse respose = request.GetResponse();

基本要点是这样的:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = WebRequestMethods.Http.Get;
request.Credentials = new NetworkCredential(username, password);

但有时使用请求凭据存在问题,另一种方法是在请求标头中添加身份验证数据

string authInfo = username + ":" + password;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
request.Headers["Authorization"] = "Basic " + authInfo;

有关详细信息,请参阅此博客文章

http://charlie.cu.cc/2012/05/how-use-basic-http-authentication-c-web-request/

暂无
暂无

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

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