WCF。 REST架构+基本身份验证。 .NET 4

时间:2011-08-04 11:26:48

标签: wcf json authentication rest basic-authentication

我需要已经在WCF服务中使用基本身份验证的人的建议。

我找到了很多例子如何做到:

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

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

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

1 个答案:

答案 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