我需要已经在WCF服务中使用基本身份验证的人的建议。
我找到了很多例子如何做到:
http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx
和 WcfRestContrib 。但是作者不再支持.NET 3.5和第二个示例。也许在.NET 4中的东西更好,我们有一些功能可以帮助我解决这个问题?将欣赏任何线索和信息。
由于某种原因,我甚至无法从安全服务器获取数据,因为在尝试使用JQuery获取数据时出现奇怪的解析错误。如果没有基本身份验证,一切正常并且使用json无法解析。也许有人遇到这样的问题。
答案 0 :(得分:3)
我认为你在使用jquery中的基本身份验证时发出的OPTIONS调用有问题。您可以通过向项目添加global.asax来解决此问题,并添加以下代码:
protected void Application_BeginRequest(object sender, EventArgs e)
{
EnableCrossDomainAjaxCall();
}
private void EnableCrossDomainAjaxCall()
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Accept");
HttpContext.Current.Response.End();
}
}
您还可以在此处下载示例解决方案:http://sameproblemmorecode.blogspot.com/2011/10/creating-secure-restfull-wcf-service.html