2011-08-04 32 views
0

我需要来自已经在WCF服务中使用基本身份验证的人的建议。WCF。 REST架构+基本身份验证。 .NET 4

我发现了很多的例子来说明如何做到这一点,如:

http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx

WcfRestContrib。但对于.NET 3.5和第二个例子的第一个例子不再受作者的支持。也许在.NET 4中更好,我们有一些功能可以帮助我解决这个问题?将欣赏任何线索和信息。

由于某些原因,我甚至无法从安全服务器获取数据,因为在尝试使用JQuery获取数据时出现奇怪的解析错误。没有基本的身份验证,一切工作正常,并与JSON无法解析。也许有人遇到这样的问题。

+1

这是更好,如果你可以在这里贴上错误的信息。 – Jack

回答

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

+1

非常感谢您的链接 - 非常有帮助。关于如何做到这一点的一个小而简洁的例子。 –