WCF. REST архитектура + базовая аутентификация. .NET 4 - PullRequest
0 голосов
/ 04 августа 2011

Мне нужен совет от людей, которые уже использовали базовую аутентификацию в службе WCF.

Я нашел много примеров, как это сделать:

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

и WcfRestContrib . Но первый пример для .NET 3.5 и второй больше не поддерживаются автором. Может быть, в .NET 4 дела обстоят лучше, и у нас есть некоторые функции, которые могут помочь мне с этой проблемой? Буду признателен за любые подсказки и информацию.

И по некоторым причинам я даже не могу получить данные с защищенного сервера из-за странной ошибки разбора при попытке получить данные с помощью JQuery. Без базовой аутентификации все работает нормально и с помощью json невозможно разобрать. Может быть, кто-нибудь встречает такую ​​проблему.

1 Ответ

3 голосов
/ 31 октября 2011

Я думаю, что у вас есть проблема с вызовом OPTIONS, который выдается при использовании базовой аутентификации в jquery. Вы можете решить эту проблему, добавив 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...