无法使用基本身份验证对Web服务API进行身份验证

无法使用基本身份验证对Web服务API进行身份验证

问题描述:

我的客户端应用程序主要包含前端代码。例如,在登录屏幕中,调用远程api以针对数据库验证用户。这在表单身份验证中工作正常,但是当实现基本身份验证时,我得到401错误。示例代码如下。请帮助。



string data = JsonConvert.SerializeObject(loginUser); cookie = RemoteData(/ authenticateuser,POST,data);



private string RemoteData(string url,string Method,string data){



string result =;

var wi =(WindowsIdentity)HttpContext.User.Identity;



var wic = wi.Impersonate();

尝试

{



使用(var client = new WebClient {UseDefaultCredentials = true})

{



client.Headers.Add(HttpRequestHeader.ContentType,application / json; charset = utf-8);



byte [] buffer = client.UploadData(_apiPath + url,POST,Encoding.UTF8.GetBytes(data)) ;

result = Encoding.UTF8.GetString(buffer,0,buffer.Length);

返回结果;

}



}

catch(Exception exc)

{

返回;

}

终于

{

wic.Undo ();



}

}

我从http://msdn.microsoft获得了上述代码.com / zh-cn / library / ff647405.aspx。编辑注册表是不可能的。我该怎么办才能让事情发挥作用



预付Thanxs



普拉迪普

I've a client application that contains mostly the front end code. For example in the login screen a remote api is called to authenticate the user against a database. This works fine in forms authentication but when basic authentication is implement i get 401 error. The sample code is as below. Kindly help.

string data = JsonConvert.SerializeObject(loginUser); cookie = RemoteData ("/authenticateuser", "POST", data);

private string RemoteData(string url, string Method, string data) {

string result = "";
var wi = (WindowsIdentity)HttpContext.User.Identity;

var wic = wi.Impersonate();
try
{

using (var client = new WebClient { UseDefaultCredentials = true })
{

client.Headers.Add(HttpRequestHeader.ContentType, "application/json; charset=utf-8");

byte[] buffer =client.UploadData(_apiPath + url, "POST", Encoding.UTF8.GetBytes(data));
result=Encoding.UTF8.GetString(buffer, 0, buffer.Length);
return result;
}

}
catch (Exception exc)
{
return "";
}
finally
{
wic.Undo();

}
}
I got the above code from http://msdn.microsoft.com/en-us/library/ff647405.aspx . Editing registry is out of question. What can i do to get things working

Thanxs in Advance

Pradeep

看到这个



http://world.episerver.com/Documentation/Items/Developers-Guide/EPiServer-CMS/75/Security/Configuring-Web-服务认证/ [ ^ ]